将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可以帮助?

将c#对象验证为XSD并生成xml输出

您可以考虑在您的类上实现IXMLSerializable,并以这种方式通过XSD生成XML序列化。

codeproject上有一篇关于它的文章

你有两个选择。

  1. 从您的区域模式生成代码,以便您有一个RegionFromXsd类型。将来自Regions类型实例的数据映射到新的RegionFromXsd类型。然后将RegionFromXsd类型序列化为XML文档。

  2. 填充区域类型的实例,将其序列化为XML,然后应用XSLT将XML转换为符合您的区域XSD模式的形式。