1. Создайте файл XML со связанной схемой XML.
1. Чтобы создать новый проект приложения Windows,
сначала необходимо создать новое приложение Windows на Visual Basic или Visual C#. Создайте новый проект и назовите его «XMLCustomerList», выберите «Создать» в меню «Файл», а затем нажмите «Проект», чтобы отобразить диалоговое окно «Новый проект». В зависимости от языка, который вы хотите использовать, выберите «Проект Visual Basic» или «Проект Visual C#» на панели «Тип проекта», а затем выберите «Приложение Windows». Назовите проект «XMLCustomerList» и нажмите «ОК», чтобы создать проект.
2. Visual Studio добавит проект XMLCustomerList в обозреватель решений.
Чтобы добавить в проект новый элемент XML-файла, выберите «Добавить новый элемент» в меню «Проект». Появится диалоговое окно «Добавить новый элемент». Выберите XML-файл в области «Шаблоны» диалогового окна «Добавить новый элемент». Назовите XML-файл «CustomerList» и нажмите «Открыть».
3. Добавьте в проект новый элемент схемы XML.
Чтобы добавить в проект новый элемент схемы XML, выберите «Добавить новый элемент» в меню «Проект». Появится диалоговое окно «Добавить новый элемент». Выберите XML-схему в области «Шаблоны» диалогового окна «Добавить новый элемент». Назовите схему «CustomerListSchema» и нажмите «Открыть».
4. Добавьте в схему определение простого типа.
Создайте элемент простого типа, представляющий пятизначный почтовый индекс.
На вкладке «Схема XML» панели инструментов перетащите элемент «simpleType» в область конструктора. Выберите имя по умолчанию «simpleType1» и переименуйте тип в «postalCode». Используйте клавишу TAB, чтобы перейти к следующей ячейке справа и выберите «positiveInteger» из раскрывающегося списка. Используйте клавишу TAB для перехода к следующей строке.
Щелкните раскрывающийся список. Единственный вариант – фасет. Это связано с тем, что простые типы не могут содержать элементы или атрибуты как часть своей модели контента. Для создания простых типов можно использовать только фасеты. Используйте клавишу TAB, чтобы перейти к следующей ячейке справа и выберите «шаблон» из раскрывающегося списка. Снова используйте клавишу TAB, чтобы перейти к следующей ячейке справа, и введите «d{5}».
Фасеты шаблона позволяют вводить регулярные выражения. Регулярное выражение d{5} означает, что длина содержимого типа postalCode ограничена 5 символами. Регулярные выражения выходят за рамки этого пошагового руководства, но вы можете увидеть, как использовать фасеты шаблона с выбранными типами данных, чтобы разрешить только определенные данные в простых типах.
Если вы переключите схему в представление XML, вы должны увидеть следующий код в теге схемы корневого уровня (это означает, что пример кода не включает ни фактическую часть объявления платформы, ни фактический тег схемы, называемый корневым тегом или тегом уровня документа). tag) :
<xs:simpleType name="postalCode">
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="d{5}" />
</xs:restriction>
</xs: simpleType>
Выберите «Сохранить все» в меню «Файл».
5. Добавьте в схему определение сложного типа.
Создайте элемент сложного типа, представляющий стандартный адрес в США.
Переключитесь в представление схемы. На вкладке «Схема XML» панели инструментов перетащите комплексный тип в область конструктора. Выберите имя по умолчанию «complexType1» и переименуйте тип в «usAddress». Не выбирайте тип данных для этого элемента. Используйте клавишу TAB для перехода к следующей строке. Нажмите на раскрывающийся список, и вы увидите несколько вариантов элементов, которые можно добавить к сложному типу. Элемент можно выбрать, но в оставшейся части этого пошагового руководства вы просто будете нажимать клавишу TAB над ячейкой, поскольку элемент установлен по умолчанию. Используйте клавишу TAB, чтобы перейти к следующей ячейке справа и введите «Имя».
Используйте клавишу TAB, чтобы перейти к следующей ячейке справа и установите тип данных как строка. Повторите эти действия в элементе usAddress, чтобы создать новую строку для
имени элемента
.
тип данных
Улица
нить
Город
нить
Состояние
нить
Почтовый индекс
Почтовый индекс
Обратите внимание на тип данных, присвоенный элементу Zip. Это простой тип postalCode, который вы создали ранее.
Если вы переключитесь на представление XML, вы должны увидеть следующий код в теге схемы корневого уровня (это означает, что пример кода не включает ни фактическую часть объявления схемы, ни фактические теги схемы, называемые корневыми тегами или тегами уровня документа):
< xs:simpleType name="postalCode">
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="d{5}" />
</xs:restriction>
</xs:simpleType>
< xs :complexType name="usAddress">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Street" type="xs:string" />
< xs:element name="City" type="xs:string" />
<xs:element name="State" type="xs:string" />
<xs:element name="Zip" type="postalCode" / >
</xs:sequence>
</xs:complexType>
Теперь вы определили два отдельных типа, которые можно использовать как в определениях элементов, так и в типах. Выберите «Сохранить все» в меню «Файл». Добавьте основной элемент в схему
. 6. После определения некоторых типов данных вы можете создать фактическое определение данных для создаваемого XML-файла. XML-файл будет содержать данные для списка клиентов, поэтому создайте фактические элементы, определяющие данные, которые будут действительны в XML-файле.
Создайте элемент «Клиент»
. Переключитесь на представление схемы. Перетащите «элемент» с вкладки «Схема XML» панели инструментов в область конструктора. Выберите имя по умолчанию «element1» и переименуйте его в «customer». Не выбирайте тип данных для этого элемента. Используйте клавишу TAB, чтобы перейти к центральной ячейке следующей строки и введите «CompanyName». Используйте клавишу TAB, чтобы перейти к следующей ячейке справа и установите тип данных как строка. Повторите эти действия, чтобы создать новые строки в элементе «Клиент» для:
имени элемента.
тип данных
Контактное имя
нить
Электронная почта
нить
Телефон
нить
Биллтоадрес
СШААдрес
Адрес доставки
СШААдрес
Обратите внимание на типы данных, присвоенные элементам «BillToAddress» и «ShipToAddress». Это ранее созданный комплексный тип usAddress. Мы могли бы определить простые типы для элементов «Электронная почта», «Телефон» и т. д.
Если вы переключите схему в представление XML, вы должны увидеть следующий код в теге схемы корневого уровня (это означает, что пример кода не включает ни фактическую часть объявления платформы, ни фактический тег схемы, называемый корневым тегом или тегом уровня документа). tag) :
<xs:simpleType name="postalCode">
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="d{5}" />
</xs:restriction>
</xs: simpleType>
<xs:complexType name="usAddress">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Street" type="xs:string" " / >
<xs:element name="City" type="xs:string" />
<xs:element name="State" type="xs:string" />
<xs:element name="Zip" type= "postalCode" />
</xs:sequence>
</xs:complexType>
<xs:element name="Customer">
<xs:complexType>
<xs:sequence>
<xs:element name="CompanyName" type="xs :string " />
<xs:element name="ContactName" type="xs:string" />
<xs:element name="Email" type="xs:string" />
<xs:element name="Phone" type= "xs:string" />
<xs:element name="ShipToAddress" type="usAddress" />
<xs:element name="BillToAddress" type="usAddress" />
</xs:sequence>
</xs :complexType >
</xs:element>
Выберите «Сохранить все» в меню «Файл».
7. Чтобы разрешить несколько экземпляров данных о клиентах в XML-документе, мы создадим элемент с именем customerList, который будет содержать все отдельные элементы клиентов.
Создайте элемент customerList. Перетащите «элемент» с вкладки «Схема XML» панели инструментов в область конструктора. Выберите имя по умолчанию «element1» и переименуйте его в «customerList». Не выбирайте тип данных для этого элемента. Выберите элемент customer (созданный ранее) и перетащите его на элемент customerList. Отдельные панели дизайна должны представлять иерархическую структуру данных. Выберите «Сохранить все» в меню «Файл».
8. Свяжите схему с файлом XML.
Создайте связь между файлом XML и схемой XML. В «Обозревателе решений» дважды щелкните файл «CustomerList.xml». XML-файл откроется в представлении XML дизайнера. В окне «Свойства» щелкните ячейку справа от свойства targetSchema и выберите http://tempuri.org/CustomerListSchema.xsd.
Visual Studio добавляет ссылку на схему в файл CustomerList.xml и тег <customerList>.
Добавление данных в XML-файл
9. Теперь вы можете добавлять данные в XML-файл. Связав схему с файлом XML, редактор XML теперь знает, какие элементы следует включить в файл XML, и предоставляет форматированную сетку в представлении данных.
Чтобы добавить данные в файл customerList.xml, в файле customerList.xml в представлении XML поместите курсор между открывающим и закрывающим тегами <customerList> (начальный тег = <customerList>, закрывающий тег = </customerList>). .
Введите <. Выберите элемент «Клиент».
Введите >, чтобы завершить тег.
Введите < и выберите CompanyName из списка допустимых элементов.
Введите >, чтобы завершить тег.
Введите Blue Yonder Airlines в качестве названия компании.
Переключитесь в режим просмотра данных. Введите Нейт Сан в поле «Имя контакта» в сетке. Заполняйте записи, добавляя данные в другие поля таблицы. Вернитесь к представлению «XML». Данные в сетке теперь правильно отформатированы как XML.
2. Создайте схему XML из файла XML.
Создайте новую схему XML на основе существующего документа XML.
1. Загрузите документ XML (файл .xml) в «XML Designer».
2. Нажмите Создать схему в меню XML.
3. Схема XML (файл .xsd) будет добавлена в текущий проект с тем же именем, что и исходный файл XML.
4. Загрузите вновь созданную схему XML (файл .xsd) в «XML Designer».
5. Проверьте и отредактируйте типы данных, назначенные при создании схемы.
Примечание. При получении схемы из существующего документа XML все типы данных изначально устанавливаются как строковые, поэтому необходимо редактировать типы данных в соответствии с требованиями к содержимому данных XML.
Если вам нужно внести изменения в схему, вы можете использовать XML Designer для добавления, редактирования и удаления элементов.
http://www.cnblogs.com/xh831213/archive/2006/09/14/503944.html