2011-06-30 35 views

Respuesta

76

Supongamos que tenemos Test.xsd archivo que tiene el siguiente aspecto:

<?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. crear clases utilizando la herramienta xsd:

    xsd.exe /classes Test.xsd 
    

    Esto generará Test.cs archivo.

  2. Agregue el archivo Test.cs a su solución.

  3. Crear instancia de MyClass, definido en el esquema XSD y XMLSERIALIZE que:

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

Resultado:

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

Hola Alex Gracias por la respuesta. Tengo algunas dudas. ¿Dónde debo ejecutar el comando xsd.exe/classes Test.xsd. En segundo lugar, no podría relacionar la clase en Test.cs y MyClass. –

+0

@sachin kulkarni - ¿qué dudas tienes? –

+0

¿Cuál es la herramienta Xsd.exe? ¿Dónde lo conseguiré? –

0

este es el camino a xsd.exe archivo, asegúrese de que tiene instalado SDK.

C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v8.1A \ bin \ netfx 4.5.1 Herramientas (en este caso es la xsd.exe (aplicación))

también ver esto si es necesario. where to find xsd.exe in visual studio 2013 on windows 8