2011-06-30 219 views

回答

76

假设我们有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. 创建的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> 
+0

嗨亚历克斯感谢。我有几个答复应doubts.Where我执行命令XSD.EXE /班Test.xsd。其次我不能共涉及在test.cs中和MyClass的类别。 –

+0

@sachin kulkarni - 你有什么疑问? –

+0

什么是Xsd.exe工具?我应该在哪里得到它? –

0

这是XSD.EXE文件的路径,请确保您已经安装了SDK。

C:\ Program Files文件(x86)的\微软的SDK \的Windows \ v8.1A \ BIN \ NETFX 4.5.1工具(这里是XSD.EXE(应用程序))

也看到这一点,如果需要的。 where to find xsd.exe in visual studio 2013 on windows 8