C# для профессионалов. Том II

стр.

Глава 13

XML

XML играет очень большую роль в платформе .NET. Платформа не только позволяет использовать XML в приложениях, но сама применяет XML для таких вещей, как конфигурационные файлы и документация исходного кода. Для XML платформа .NET содержит пространство имен >System.Xml. Это пространство имен загружается вместе с классами, задействованными при обработке XML.

В этой главе говорится о том, как использовать реализацию DOM, и что предлагает .NET в качестве замены SAX. Будет показана совместная работа XML и ADO.NET и их преобразования. Мы узнаем так же, как можно сериализовать объекты в документ XML и создать объект из документа XML (десериализовать). Кроме того увидим, как включать XML в приложения C#. Следующие классы будут рассмотрены более подробно:

>XmlReader и >XmlTextReader

>XmlWriter и >XmlTextWriter

>XmlDocument и DOM

>XPath и >XslTransform

>ADO.NET и >XmlDataDocument

>XmlSerialization

Начнем эту главу с текущего состояния стандартов XML.

Стандарты W3C

Консорциум WWW (W3C) разработал множество стандартов, придающих XML мощь и потенциал. Без этих стандартов XML не смог бы оказать такого большого влияния на мир разработки. В этой книге не будут подробно рассматриваться тонкости XML. Для этого необходимо использовать другие источники. Среди книг Wrox, переведенных издательством "Лори", можно порекомендовать "Введение в XML" (2001 г., 656 стр.), "XML для профессионалов" (2001 г., 896 стр.) и "The XML Handbook" (ISBN 0-13-055068). Конечно, web-сайт W3C является ценным источником информации о XML (www.w3.org). В мае 2001 г. платформа .NET поддерживала следующие стандарты:

□ XML 1.0 — www.w3.org/TR/1998/REC-XML-19980210 — включая поддержку DTD (>XmlTextReader).

□ Пространства имен XML — www.w3.org/TR/REC-xml-names — уровень потока и DOM.

□ Схемы XML — www.w3.org/TR/xmlschema-1 — поддерживается отображение схем и сериализация, но пока еще не поддерживается проверка.

□ Выражения XPath — www.w3.org/TR/xpath

□ Преобразования XSL/T — www.w3.org/TR/xslt

□ Ядро DOM Level 2 — www.w3.org/TR/DOM-Level-2

□ Soap 1.1 — msdn.microsoft.com/xml/general/soapspec.asp

Уровень поддержки стандартов будет меняться по мере развития платформы и по мере того, как W3C продолжает обновлять рекомендованные стандарты. В связи с этим необходимо всегда оставаться на современном уровне стандартов и уровне поддержки, который обеспечивает Microsoft.

Пространство имен System.Xml

Рассмотрим (без определенного порядка) некоторые классы пространства имен System.Xml.

Имя классаОписание
>XmlReaderАбстрактный. Средство чтения, которое предоставляет быстрый, некэшированный доступ к данным XML. >XmlReader читает только вперед, аналогично синтаксическому анализатору SAX.
>XmlWriterАбстрактный. Средство записи, которое предоставляет быструю, некэшированную запись данных XML в поток или файл.
>XmlTextReaderРеализует >XmlReader. Предоставляет быстрый потоковый доступ для чтения с режимом только вперед к данным XML. Разрешает (допускает) использование данных в одном представлении.
>XmlTextWriterРеализует >XmlWriter. Быстрая генерация потоков записи XML с режимом только вперед.
>XmlNodeАбстрактный. Класс, который представляет единичный узел в документе XML. Базовый класс для нескольких классов в пространстве имен XML.
>XmlDocumentРеализует >XmlNode. Объектная модель документов W3C (DOM, Document Object Model). Задает в памяти представление документа XML в виде дерева, разрешая перемещение и редактирование.
>XmlDataDocumentРеализует >XmlDocument. То есть документ, который можно загрузить из данных XML или из реляционных данных объекта >DataSet из ADO.NET.
>XmlResolverАбстрактный. Разрешает внешние ресурсы на основе XML, такие как DTD и схемные ссылки. Используется также для обработки элементов > и >.
>XmlUrlResolverРеализует >XmlResolver. Разрешает внешние ресурсы с помощью URI (унифицированный идентификатор ресурса).

XML является также частью пространства имен >System.Data в классе >DataSet.

Имя классаОписание
>ReadXmlСчитывает данные XML и схему в >DataSet.
>ReadXmlSchemaСчитывает схему XML в >DataSet