使用XSD文件生成XML文件

46

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

3个回答

114

假设我们有一个名为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. 创建在XSD模式中定义的MyClass的实例,并对其进行Xml序列化:

  4. 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>

嗨,Alex。谢谢你的回复。我有几个疑问。我应该在哪里执行命令 xsd.exe /classes Test.xsd?另外,我无法将 Test.cs 文件中的类与 MyClass 相对应起来。 - sachin kulkarni
@sachin kulkarni - 你有什么疑问? - Alex Aza
2
XML Schema Definition Tool(XML模式定义工具) - Alex Aza
7
你可以在 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 找到它,或者使用 Visual Studio 命令提示符。 - Alex Aza
2
从MSDN如何访问VS命令提示符:http://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx - Maher Abuthraa
显示剩余2条评论

0

-1

使用xsd工具创建类:xsd.exe /classes Test.xsd。首先进入Windows开始菜单,然后输入“Developer..”,接着你会看到Vs2015(你的版本)开发人员命令提示符。在命令提示符中运行此命令。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接