【发布时间】:2011-09-25 16:52:50
【问题描述】:
如何从 XSD 文件生成 XML 文件?
【问题讨论】:
标签: c# .net xml xsd xml-serialization
如何从 XSD 文件生成 XML 文件?
【问题讨论】:
标签: c# .net xml xsd xml-serialization
假设我们有如下所示的 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 文件添加到您的解决方案中。
创建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);
结果:
<?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>
【讨论】:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 找到它,或者只使用 Visual Studio 命令提示符。
这是 xsd.exe 文件的路径,请确保您已安装 SDK。
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools(这里是xsd.exe(应用程序))
如果需要,也可以查看。 where to find xsd.exe in visual studio 2013 on windows 8
【讨论】:
对于“使用 xsd 工具创建类:xsd.exe /classes Test.xsd”,首先进入 windows 开始,然后编写“开发人员..”,然后您将看到 Vs2015(您的版本)的开发人员命令提示符。在命令中运行这个命令。
此外,如果您的 xsd 文件很大,定义所有元素需要时间。在我的情况下,我正在尝试在每个 elemnen 中实现数据库列,以便为我公司的每个客户获取信息。 (var data = new MyClass { Field1 = "test1", Field2 = "test2" };)
【讨论】: