Ale*_*Aza 98

假设我们有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>
Run Code Online (Sandbox Code Playgroud)
  1. 使用xsd工具创建类:

    xsd.exe /classes Test.xsd
    
    Run Code Online (Sandbox Code Playgroud)

    这将生成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);
    
    Run Code Online (Sandbox Code Playgroud)

结果:

<?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>
Run Code Online (Sandbox Code Playgroud)

  • 您可以在`C:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Bin`中找到它,或者只使用Visual Studio命令提示符. (7认同)
  • [XML Schema Definition Tool](http://msdn.microsoft.com/en-us/library/x6c1kb0s%28v=VS.100%29.aspx) (2认同)
  • 从MSDN如何访问VS命令提示符:http://msdn.microsoft.com/en-us/library/ms229859(v = vs.110).aspx (2认同)