2010-10-12 66 views
1

只是一個簡單的問題。我一直在四處搜索有關對象的序列化xml文檔中元素順序的信息。xml序列化屬性訂單

就我所知,訂單(除非使用XmlElement屬性指定)將是該類型代碼中存在的屬性的順序。但是,該訂單不能保證。

這就是我正在尋找的。這個命令不能保證的原因。我想看看規格或任何明確的信息,可以爲我和谷歌未能交付,所以我希望你們可以幫助我一些明確的信息:)

Thanx提前, 安東。

回答

2
  1. 在編寫規範時,不應保證任何與手邊任務無關的任何事情,因爲所有這些都會限制實現,因爲沒有收益。你可能會被迫陷入次優,甚至是越野車行爲,並沒有任何好處。
  2. 如果開發人員以某種方式開始依賴訂單,那麼如果類的作者更改了屬性和/或字段的順序,他們會發現代碼被破壞。這會對作者創造一種限制,使他們可以隨意改變他們認爲合適的東西。
  3. 沒有這樣的命令。部分類可以在單獨的文件中定義屬性和字段,並隨着開發的進行從一個移到另一個。自動屬性實現中使用的字段「活」在類定義以外的某個位置。因此,訂單本身不能得到保證,因此不能有其他保證。
  4. 如果超出XML序列化本身的自定義需求本身需要訂單,則類作者可以自定義專業化。無論如何,由於自定義需求傾向於與其他自定義需求攜手並行,或者需要比默認實現提供的更高程度的將來校對,所以它們可能需要。
+0

非常有見地,thanx。 – Anton 2010-10-12 10:56:03