Generating XML file using XSD file
Solution 1:
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>