Генерация XML-файла с использованием XSD-файла - PullRequest
36 голосов
/ 30 июня 2011

Как вы генерируете файл XML из файла XSD?

Ответы [ 3 ]

96 голосов
/ 30 июня 2011

Предположим, у нас есть файл Test.xsd, который выглядит следующим образом:

<?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. Создание классов с помощью инструмента xsd:

    xsd.exe /classes Test.xsd
    

    Это создаст файл Test.cs.

  2. Добавьте файл Test.cs в ваше решение.

  3. Создать экземпляр MyClass, определенный в схеме XSD, и 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);
    

Результат:

<?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 голосов
/ 12 июня 2018

Для «Создание классов с помощью инструмента xsd: xsd.exe / classes Test.xsd» сначала зайдите в Windows Start, затем напишите «Developer ..», после этого вы увидите командную строку разработчика для Vs2015 (ваша версия).запустите эту команду в команду.

В дополнение, если ваш xsd-файл большой, для определения всех элементов требуется время.В моей ситуации я пытаюсь внедрить столбец базы данных в каждом элементе для получения информации для каждого клиента моей компании.(var data = new MyClass {Field1 = "test1", Field2 = "test2"};)

0 голосов
/ 15 декабря 2016

это путь к файлу xsd.exe, убедитесь, что вы установили SDK.

C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1 Инструменты (вот xsd.exe (приложение))

также посмотрите это при необходимости. где найти xsd.exe в visual studio 2013 на windows 8

...