How do you generate an XML file from an XSD file?
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
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>
Create classes using xsd tool:
xsd.exe /classes Test.xsd
This will generate Test.cs file.
Add Test.cs file to your solution.
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>
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" };)