将c#对象验证为XSD并生成xml输出
本文关键字:xml 输出 XSD 对象 验证 | 更新日期: 2023-09-27 18:01:58
我有一个具有公共属性的对象
比如说一个叫做Regions的对象它看起来是这样的
public class Region { // public properties string name; string description; string timezone; string regionURL; string regioncode; }
现在我想验证这个对象到区域XSD它基本上没有区域对象中存在的所有属性。对于XSD中的属性,我希望生成XML格式的输出。
区域XSD看起来像
<xs:schema>
<xs:complexType name="region">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="URl" type="xs:string"/>
<xs:element name="code" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
有没有什么内建在。net可以帮助?
您可以考虑在您的类上实现IXMLSerializable,并以这种方式通过XSD生成XML序列化。
codeproject上有一篇关于它的文章
你有两个选择。
-
从您的区域模式生成代码,以便您有一个RegionFromXsd类型。将来自Regions类型实例的数据映射到新的RegionFromXsd类型。然后将RegionFromXsd类型序列化为XML文档。
-
填充区域类型的实例,将其序列化为XML,然后应用XSLT将XML转换为符合您的区域XSD模式的形式。