it-swarm.dev

Generování souboru XML pomocí souboru XSD

Jak vygenerujete soubor XML ze souboru XSD?

34
sachin kulkarni

Předpokládejme, že máme soubor Test.xsd, který vypadá takto:

<?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. Vytváření tříd pomocí nástroje xsd:

    xsd.exe /classes Test.xsd
    

    To vygeneruje soubor Test.cs.

  2. Přidat soubor Test.cs do řešení.

  3. Vytvořit instanci MyClass, definovanou ve schématu XSD a XmlSerialize:

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

Výsledek:

<?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>
91
Alex Aza

toto je cesta k souboru xsd.exe, ujistěte se, že jste nainstalovali SDK.

C: Programové soubory (x86) Microsoft SDK Windows v8.1A bin NETFX 4.5.1 Nástroje (zde je xsd.exe (aplikace))

kde xsd.exe najít ve vizuálním studiu 2013 na Windows 8

0
gulraiz javaid

Pro "Vytvoření tříd pomocí nástroje xsd: xsd.exe/tříd Test.xsd" nejprve přijďte do Windows Start a poté napište "Developer .." poté uvidíte příkazový řádek pro vývojáře pro Vs2015 (vaše verze). spusťte tento příkaz do příkazu.

Pokud je váš soubor xsd velký, je třeba definovat všechny prvky. V mé situaci se snažím implementovat databázový sloupec do každého elemnen pro získání informací pro každého zákazníka mé compnay. (var data = new MyClass {Field1 = "test1", Field2 = "test2"};)

0
Cengiz Akarsu