我可以使用C#中的XmlSerializer控制某些字段的序列化嗎? Fox示例將名爲「Type」(字符串)的屬性序列化爲其他字符而不是字符串。 在此先感謝。我可以使用XmlSerializer控制某些字段的序列化
2
A
回答
5
您可以通過XmlElement
/XmlAttribute
註釋來控制一些東西 - 元素的名稱,它是屬性還是完整的XML元素等。但是,您不能直接更改類型。如果您需要支持任何類型的複雜序列化方案,由於其很多限制,XmlSerializer
並不是一個好選擇。你最好使用DataContractSerializer
(參見WCF文檔中的"Using Data Contracts"),或者甚至可以自己編寫它。
如果你只是想(使用自定義XML類型或命名空間EG)以改變所產生的序列化數據的XML類型,您可以做到這一點與XmlType
屬性,但這樣做只爲你聲明工種而不是原始的CLR類型(例如,你不能將一個字符串變成一個整數或另一個更復雜的類型)。
0
我想你想的IXmlSerializable interface
你無法控制打字只是使用屬性。你必須推出你自己的代碼來序列化/反序列化類。該界面允許你這樣做。
1
您可以通過XMLIgnore屬性控制要序列化的內容。這不會序列化用此屬性裝飾的屬性。
您還可以使用XMLType來管理XML序列化程序如何序列化類型,但這並不意味着您可以直接影響CLR類型。
你不能使用序列化來改變CLR類型。
相關問題
- 1. 防止某些字段被序列化
- 2. 是否可以從XmlSerializer序列化中排除某些類型的成員?
- 3. 爲什麼我不能用XmlSerializer序列化只讀字段?
- 4. 使用XmlSerializer序列化ArrayList
- 5. 使用XmlSerializer反序列化
- 6. 使用XmlSerializer序列化IntPtr
- 7. 使用XmlSerializer對DataType =「time」字段進行序列化
- 8. 使用XMLSerializer序列化類不顯示字段C#
- 9. 定製JSON反序列化,如果某些字段存在(使用傑克遜)
- 10. 如何禁用某些字段的Jackson序列化功能WRITE_NUMBERS_AS_STRINGS?
- 11. 我們可以使用某種數組來控制表單上的字段嗎?
- 12. 如何控制哪些字段在Axis2中被序列化?
- 13. 使用XmlSerializer的序列化派生類
- 14. XmlSerializer使用默認的XmlRoot序列化
- 15. 錯誤反序列化使用XmlSerializer的
- 16. XmlSerializer可以反序列化爲可空的<int>?
- 17. 如何反序列化JSON中的某些字段?
- 18. Silverlight項目中的反序列化後,某些字段爲空
- 19. Play Framework - 如何忽略Json序列化的某些字段?
- 20. 使用XMLSerializer進行序列化和反序列化的問題
- 21. 使用XmlSerializer以&符號化反序列化XML()
- 22. 無法反序列化以前序列化的XML與c#xmlserializer
- 23. 自定義序列化使用XmlSerializer
- 24. 如何使用XmlSerializer序列化'System.Numerics.Complex'?
- 25. 使用XMLSerializer反序列化XML
- 26. 使用XmlSerializer序列化爲XML字符串時的序列化值
- 27. 限制某些用戶的字段
- 28. 我可以使用Lift的FieldSerializer更改序列化中的字段嗎?
- 29. 我可以做到這樣只有某些字段可以用PATCH更改嗎?
- 30. XmlSerializer可以反序列化爲可空<int>?
您可以根據[Serializable]屬性控制什麼獲得序列化,所以對於一個Class,例如,您可以選擇將整個類序列化或只是某些屬性,例如 – MethodMan