将类的所有属性序列化为XML

时间:2010-01-19 13:38:14

标签: .net xml xml-serialization

我有很多类,我需要为这些类生成XML模式。

我能想到的最简单的方法是创建类,序列化为XML,然后在此XML上运行XSD。

但是,如果我没有设置类的属性,则不会创建任何XML节点,因此XSD不会选择它。

有没有办法告诉XML序列化程序序列化类的所有属性,而不仅仅是那些设置了值的属性?

充满希望,超出预期! 邓肯

3 个答案:

答案 0 :(得分:3)

XSD.EXE可以从程序集生成模式。只需指定/type开关。

答案 1 :(得分:2)

不确定。实施IXmlSerializable,您就可以完全控制。

此外,我相信您已经知道有几种不同的方法可以解析/验证Xml ......并且因为您在Microsoft平台上......这些工具(在MSDN上可用)会派上用场(自动生成C#代码)决定序列化/反序列化到架构:xsd.exe和xsdObjectGen.exe(更多选项)。

答案 2 :(得分:2)

使用元数据属性

[XmlElement(IsNullable=true)]

但是,如果字段为空,它将向序列化输出添加额外的属性xsi:nil =“true”。