如何从XSD文件生成XML文件?
假设我们有一个名为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>
使用xsd工具创建类:
xsd.exe /classes Test.xsd
这将生成Test.cs文件。
将Test.cs文件添加到您的解决方案中。
创建在XSD模式中定义的MyClass
的实例,并对其进行Xml序列化:
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);
结果:
<?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>
这是 xsd.exe 文件的路径,请确保您已安装 SDK。
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 工具(这里是 xsd.exe(应用程序))
如果需要,也可以查看此链接。 在 Windows 8 上的 Visual Studio 2013 中查找 xsd.exe 的位置
使用xsd工具创建类:xsd.exe /classes Test.xsd。首先进入Windows开始菜单,然后输入“Developer..”,接着你会看到Vs2015(你的版本)开发人员命令提示符。在命令提示符中运行此命令。
另外,如果你的xsd文件很大,定义所有元素需要一定时间。在我的情况下,我正在尝试为公司的每个客户实现数据库列以获取每个客户的信息。 (var data = new MyClass { Field1 = "test1", Field2 = "test2" };)
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
找到它,或者使用 Visual Studio 命令提示符。 - Alex Aza