我可以使用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