验证C#对象到XSD并生成xml输出

时间:2011-07-12 21:10:16

标签: c# xml xsd

我有一个具有公共属性的对象。

说...一个名为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中有内置的东西可以提供帮助吗?

2 个答案:

答案 0 :(得分:0)

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

在codeproject here

上有一篇关于它的文章

答案 1 :(得分:0)

你有两个选择。

  1. 从您的区域架构生成代码,以便您拥有RegionFromXsd类型。将Region类型实例中的数据映射到新的RegionFromXsd类型。然后将RegionFromXsd类型序列化为XML文档。

  2. 填充您的Regions类型的实例,将其序列化为XML,然后应用XSLT,它将XML转换为符合您的区域XSD架构的表单。

  3. 希望这有帮助。