2011-06-30 6 views

Odpowiedz

76

Załóżmy, że mamy Test.xsd plik, który wygląda tak:

<?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. tworzenia klas przy użyciu narzędzia xsd:

    xsd.exe /classes Test.xsd 
    

    To wygeneruje Test.cs pliku.

  2. Dodaj plik Test.cs do swojego rozwiązania.

  3. Tworzenie instancji MyClass, określonej w schemacie XSD i XMLSERIALIZE go:

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

Wynik:

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

Witam Alex Dziękuję za odpowiedź. Mam kilka wątpliwości. Gdzie powinienem wykonać polecenie xsd.exe/classes Test.xsd. Po drugie nie mogłem powiązać klasy w Test.cs i MyClass. –

+0

@sachin kulkarni - jakie masz wątpliwości? –

+0

Co to jest narzędzie Xsd.exe? Gdzie mogę to zdobyć? –