48

How do you generate an XML file from an XSD file?

3 Answers 3

115

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>
Sign up to request clarification or add additional context in comments.

7 Comments

Hi Alex Thanks for the reply .I have few doubts.Where should I execute the command xsd.exe /classes Test.xsd .Secondly I could not co relate the class in Test.cs and MyClass.
@sachin kulkarni - what doubts do you have?
You can find it at C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin, or just use Visual Studio Command Prompt.
from MSDN how to access VS Command Prompt : msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx
|
1

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

Comments

-1

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.