wake-up-neo.com

XML-Datei mit XSD-Datei erstellen

Wie generieren Sie eine XML-Datei aus einer XSD-Datei?

34
sachin kulkarni

Angenommen, wir haben eine Test.xsd-Datei, die wie folgt aussieht:

<?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. Erstellen Sie Klassen mit dem xsd-Tool:

    xsd.exe /classes Test.xsd
    

    Dadurch wird die Test.cs-Datei generiert.

  2. Fügen Sie der Lösung Test.cs hinzu.

  3. Erstellen Sie eine Instanz von MyClass, die im XSD-Schema definiert ist, und XmlSerialize es:

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

Ergebnis:

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

dies ist der Pfad zur Datei xsd.exe. Stellen Sie sicher, dass Sie SDK installiert haben.

C:\Programme (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools (hier ist die xsd.exe (Anwendung))

sehen Sie dies auch, wenn nötig . wo Sie xsd.exe in Visual Studio 2013 unter Windows 8 finden

0
gulraiz javaid

Für "Klassen mit dem xsd-Tool erstellen: xsd.exe/classes Test.xsd" kommen Sie zuerst zu Windows. Starten Sie dann "Developer ..". Führen Sie diesen Befehl in den Befehl aus.

Wenn Ihre xsd-Datei groß ist, dauert es außerdem Zeit, alle Elemente zu definieren. In meiner Situation versuche ich, Datenbankspalten in jedem Element zu implementieren, um Informationen für jeden Kunden meines Unternehmens zu erhalten. (var data = new MyClass {Field1 = "test1", Field2 = "test2"};)

0
Cengiz Akarsu