Если вы хотите создать документ XML, основанный на XSD, вам нужно пройти несколько шагов.
1) Вам нужно будет создать классы .NET на основе вашего XSD.
2) Вам нужно будет создать новый экземпляр этого класса и сериализовать вывод.
Шаг 1 - Создание класса .NET из XSD документа
Файл XSD обеспечивает синюю печать для класса. Вот пример файла XSD:.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Person" nillable="true" type="Person" />
<xs:complexType name="Person">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="firstName" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="lastName" type="xs:string" />
<xs:element minOccurs="1" maxOccurs="1" name="dateOfBirth" type="xs:dateTime" />
<xs:element minOccurs="1" maxOccurs="1" name="gender" type="Gender" />
<xs:element minOccurs="1" maxOccurs="1" name="height" type="xs:int" />
<xs:element minOccurs="1" maxOccurs="1" name="weight" type="xs:decimal" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Gender">
<xs:restriction base="xs:string">
<xs:enumeration value="Male" />
<xs:enumeration value="Female" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
Создать новую папку для работы в Я использую «C: \ STACK».
Создайте новый текстовый файл, скопируйте и вставьте XSD в него и сохраните его как «person.xsd».
Теперь нам нужно использовать XSD.exe для преобразования этого файла в класс.
Вам нужно будет найти XSD exe на вашем компьютере, для меня он был в:
C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools \ xsd.exe
Теперь откройте командную строку и введите этот
cd "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools"
Теперь мы создадим классы .NET (здесь это команда разбита)
xsd.exe -Execute xsd
/classes -Create Clasess
/language:vb -Language to use (VB, CS, JS)
/out:"c:\stack\" -Output folder
c:\stack\person.xsd -The XSD File to use
Вот команда в одной строке
xsd.exe c:\stack\person.xsd /classes /language:vb /out:c:\stack\
После выполнения этой команды будет создан новый файл «C: \ стек \ person.vb» Вы можете добавить этот класс в ваш проект.
Шаг 2 - Создайте новый экземпляр этого класса и сериализовать выход
Теперь, когда вы добавили новый класс, вы можете создать его экземпляр:
Dim person As New Person
person.firstName = "Mike"
person.lastName = "Bateman"
person.gender = Gender.Male
person.height = 160
person.weight = 80.3
Теперь мы можем сериализации класс в XML-файле:
Dim serializer As New XmlSerializer(GetType(Person))
Dim writer As New StreamWriter("c:\stack\person.xml")
serializer.Serialize(writer, person)
writer.Close()
И мы можем прочитать XML обратно в класс .NET, как это:
Dim serializer As New XmlSerializer(GetType(Person))
Dim reader As New IO.StreamReader("c:\stack\person.xml")
Dim personRes As Person = serializer.Deserialize(reader)
reader.Close()
reader.Dispose()
Надеюсь, что это поможет!
спасибо. Способ использования Сериализатора был тем, что я пропустил. Теперь он работает нормально. – Twiebie
Командная строка XSD Примечание. Вы можете захотеть добавить пространство имен в выходной файл. Итак, xsd.exe c: \ stack \ person.xsd/classes/language: vb/namespace: MyNamespace/out: c: \ stack \ –