Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_ПАРАДИГМИ ПРОГРАМУВАННЯ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.32 Mб
Скачать

Лекція 9. Робота з xml в .Net

План

1. Класи для роботи з XML .NET

2. Читання і запис потоків даних Xml

2.1. Використання класу XmlReader

2.2. Методи читання даних

2.3. Контроль типів даних при читанні Xml-документа

3. Створення XML-документа в Visual Studio

9.1. Класи для роботи з xml .Net

Багато складових технологій .NET нерозривно пов'язані з XML. А значить, XML добре підтримується з боку Framework Class Library. У .NET підтримуються наступні технології:

  • XML 1.0

  • простори імен XML

  • XSD схеми

  • вирази XPath

  • XSL перетворення

  • DOM Level 1 Core, DOM Level 2 Core

Середовище .NET Framework не лише дозволяє застосовувати XML в створюваних застосуваннях, але і сама застосовує його в конфігураційних файлах, документації за вихідним кодом і в маніфесті збірки.

Приклад 1. Маніфест збірки

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">

<security>

<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">

<requestedExecutionLevel level="asInvoker" uiAccess="false"/>

</requestedPrivileges>

</security>

</trustInfo>

</assembly>

Класи для роботи з XML зібрані в просторі імен System.Xml. Цей простір завантажується разом з класами, які можуть використовуватися для обробки даних XML.

Таблиця 9.1. Основні класи читання і запису даних XML

XmlReader

Абстрактний клас, що виконує читання і забезпечує швидку доставку некешованих даних XML. Клас є однонаправленим синтаксичним аналізатором

XmlWriter

Абстрактний клас, що виконує запис даних у вигляді потоку або файлу

XmlTextReader

Розширює можливості класу XmlReader. Забезпечує однонаправлений потоковий доступ до даних XML

XmlTextWtiter

Розширює можливості класу Xml.Writer. Забезпечує швидку однонаправлену генерацію потоків XML

Таблиця 9.2. Деякі класи обробки даних XML

XmlNode

Абстрактний клас, що представляє один вузол в XML-документі. Базовий клас для деяких інших класів

XmlDocument

Розширює клас XmlNode. Є реалізацією DOM від W3C. Забезпечує деревовидне представлення XML-документа в пам'яті з можливостями навігації і редагування

XmlNavigator

Забезпечує навігацію по документу

XMLDataDocument

Слугує мостом між сховищами даних і реляційними даними, що зберігаються в DataSet

9.2. Читання і запис потоків даних Xml

Середовище .NET Framework підтримує два способи обробки XML-документів: потокове введення-виведення і DOM. Абстрактні класи XmlReader, XmlWriter і породжені від них класи підтримують потокову модель введення-виведення.

Класи, засновані на XmlReader забезпечують швидкий однонаправлений курсор, який організує потік даних XML для обробки.

Від XmlReader породжені наступні класи:

XmlNodeReader

використовує XmlNode як джерело замість потоку

XmlTextReader

Забезпечує однонаправлений потоковий доступ до даних XML

XmlValidatingReader

Додає визначення шаблону DTD (Document TypeDefinition) і забезпечує перевірку достовірності даних

Від XmlWriter породжені наступні класи:

XmlTextWriter

Розширює можливості класу Xml.Writer. Забезпечує швидку однонаправлену генерацію потоків XML

XmlQueryOutput

Розширює можливості класу Xml.Writer, Забезпечує функціональність, необхідну для виведення результатів перетворень XSLT

Для роботи з даними кожен з класів надає необхідні методи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]