开发者

Generating XML file using XSD file

开发者 https://www.devze.com 2023-03-16 20:56 出处:网络
How do you generate an XML file fro开发者_如何学Gom an XSD file?Suppose we have Test.xsd file that looks like this:

How do you generate an XML file fro开发者_如何学Gom an XSD file?


Suppose we have Test.xsd file that looks like this:

<?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. Create classes using xsd tool:

    xsd.exe /classes Test.xsd
    

    This will generate Test.cs file.

  2. Add Test.cs file to your solution.

  3. Create instance of MyClass, defined in XSD schema and XmlSerialize it:

    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);
    

Result:

<?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>


this is the path to xsd.exe file, be sure you have installed SDK.

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools (here is the xsd.exe (application))

also see this if needed. where to find xsd.exe in visual studio 2013 on windows 8


For "Create classes using xsd tool: xsd.exe /classes Test.xsd" firstly come to windows Start then write "Developer.." after that you will see Developer Command Prompt for Vs2015(your version). run this command into the command.

In addititon if your xsd file is big, it takes time to define all elements. In my situation I am trying implement database column in each elemnen for getting information for each customer of my compnay. (var data = new MyClass { Field1 = "test1", Field2 = "test2" };)

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号