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)
使用xsd工具创建类:
xsd.exe /classes Test.xsd
Run Code Online (Sandbox Code Playgroud)
这将生成Test.cs文件.
将Test.cs文件添加到您的解决方案中.
创建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)