2010-12-01 44 views
2

我有很多屬性使用XmlSerializer來序列化。我需要用[XmlAttribute]來標記每個(簡單)屬性,以使輸出更短一些。我想知道是否有更簡單的方法來做到這一點。有沒有辦法使它作爲一個類的默認值,以便所有簡單的類型屬性將被序列化爲屬性而不是元素?是否可以將[XmlAttribute]設置爲默認類?

回答

0

您可以創建code snippets

創建一個與已設置的屬性的屬性,並寫入它們時使用它。

+0

非常感謝您的回答,但我不明白的代碼片段如何能幫助我在這裏。如果你能詳細闡述一點,我會非常感激。 – newman 2010-12-01 14:12:05

+0

@miliu - 如果你創建了一個代碼片段,每次你想創建一個用`XmlAttribute`裝飾的屬性,你都可以使用它。當然,如果你想裝飾_existing_屬性,這將無濟於事。 – Oded 2010-12-01 14:20:57

2

沒有,基本上是這樣。嗯,你能使用XmlAttributeOverrides運行工作,檢查你的類型的代碼,並適當設置屬性,然後確保你緩存串行器(如果你使用XmlAttributeOverrides當你泄漏內存不緩存,所生成的組件做不收集)。但聽起來像更多工作。

重新使輸出短; XML使用gzip或deflate非常漂亮壓縮...

當然,如果你不需要XML,但只需要數據序列化莫名其妙,還有其他的選擇。

相關問題