使用XSD文件生成XML文件

时间:2011-06-30 05:44:38

标签: c# .net xml xsd xml-serialization

如何从XSD文件生成XML文件?

3 个答案:

答案 0 :(得分:95)

假设我们有一个如下所示的Test.xsd文件:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="MyClass">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Field1"
                    type="xs:string"/>
        <xs:element name="Field2"
                    type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
  1. 使用xsd工具创建类:

    xsd.exe /classes Test.xsd
    

    这将生成Test.cs文件。

  2. 将Test.cs文件添加到您的解决方案中。

  3. 创建MyClass的实例,在XSD架构中定义并对其进行XmlSerialize:

    using System.Xml.Serialization;
    // ...
    var data = new MyClass { Field1 = "test1", Field2 = "test2" };
    var serializer = new XmlSerializer(typeof(MyClass));
    using (var stream = new StreamWriter("C:\\test.xml"))
        serializer.Serialize(stream, data);
    
  4. 结果:

    <?xml version="1.0" encoding="utf-8"?>
    <MyClass xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Field1>test1</Field1>
      <Field2>test2</Field2>
    </MyClass>
    

答案 1 :(得分:0)

这是xsd.exe文件的路径,请确保已安装SDK。

C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1工具(这里是xsd.exe(应用程序))

如果需要,

也会看到这个。 where to find xsd.exe in visual studio 2013 on windows 8

答案 2 :(得分:0)

For&#34;使用xsd工具创建类:xsd.exe / classes Test.xsd&#34;首先来到Windows开始然后写&#34;开发人员..&#34;之后,您将看到Vs2015的开发人员命令提示符(您的版本)。将此命令运行到命令中。

另外,如果你的xsd文件很大,那么定义所有元素需要时间。在我的情况下,我正在尝试每个elemnen中的实现数据库列,以获取我的compnay的每个客户的信息。 (var data = new MyClass {Field1 =&#34; test1&#34;,Field2 =&#34; test2&#34;};)