2010-07-06 75 views
3

時,當使用Java語言編寫以下設置屬性的順序:編寫XML元素

Element fieldEl = targetDocument.createElement("field"); 
fieldEl.setAttribute("Wine","Marlo"); 
fieldEl.setAttribute("Beer","Corona"); 

添加屬性的順序不被保存的結果XML文件英寸
如何控制XML元素中的屬性順序(這樣人們就很容易閱讀......)??

回答

4

有根據DOM standard爲屬性節點沒有定義的順序:

實現NamedNodeMap接口

對象被用於表示可以通過名稱來訪問的節點的集合。請注意,NamedNodeMap不會從NodeList繼承; NamedNodeMaps不以任何特定順序維護。 實現NamedNodeMap的對象中包含的對象也可以通過序號索引來訪問,但這僅僅是爲了便於列舉NamedNodeMap的內容,並不意味着DOM指定了這些節點的順序。

(強調),並沒有在XML standard

注意屬性規範的起始標籤或空元素標籤的順序並不顯著。

我不這麼認爲,很多DOM實現都支持屬性的排序。您必須編寫自己的序列化機制才能實現排序(無雙關語)。

+0

這是可憐的... – Spiderman 2010-07-06 08:30:16

+0

不,這是xml標準。如果您想要訂購的值,請將您的信息放入元素中。 – 2010-07-06 08:49:07