XML-документы и данные
Платформа .NET Framework имеет всеобъемлющий и интегрированный набор классов, с помощью которых можно легко создавать приложения, использующие XML. Классы из следующих пространств имен поддерживают синтаксический анализ и запись XML-кода, изменение XML-данных в памяти, проверку данных и преобразование XSLT.
Чтобы получить полный список, выполните поиск System.Xml в браузере API .NET.
Классы из этих пространств имен поддерживают рекомендации W3C. Пример:
Класс System.Xml.XmlDocument реализует рекомендации модели W3C DOM базового уровня 1 и DOM базового уровня 2.
Классы System.Xml.XmlReader и System.Xml.XmlWriter поддерживают рекомендации W3C XML 1.0 и Пространства имен в XML.
Схемы в классе System.Xml.Schema.XmlSchemaSet поддерживают рекомендации в разделах Схема XML W3C, часть 1. Структуры и Схема XML, часть 2. Типы данных.
Классы в пространстве имен System.Xml.Xsl поддерживают преобразования XSLT, соответствующие рекомендациям W3C XSLT 1.0.
Классы XML в платформе .NET Framework предоставляют следующие преимущества.
Производительность.LINQ to XML (C#) и LINQ to XML (Visual Basic) упрощают программирование с помощью XML и предоставляют интерфейс запросов, аналогичный SQL.
Расширяемость. XML-классы в .NET Framework являются расширяемыми, что было достигнуто за счет использования абстрактных базовых классов и виртуальных методов. Например, можно создать класс, производный от класса XmlUrlResolver, который будет сохранять поток кэширования на локальном диске.
Модульная архитектура. Платформа .NET Framework обеспечивает архитектуру, в которой компоненты могут использовать друг друга, а данные можно передавать в потоках между компонентами. Например, хранилище данных, такое как объект XPathDocument или XmlDocument, можно преобразовать с помощью класса XslCompiledTransform, а выходные данные затем могут быть переданы в виде потока в другое хранилище или возвращены в виде потока из веб-службы XML.
Производительность. С целью повышения быстродействия приложений некоторые XML-классы в .NET Framework поддерживают модель на основе потоковой передачи со следующими характеристиками.
Минимальное кэширование для анализа по запросу в однопроходном режиме (XmlReader).
Проверка в однопроходном режиме (XmlReader).
Навигация, аналогичная курсорам, которая сводит создание узлов к минимуму (до одного виртуального узла) и обеспечивает произвольный доступ к документу (XPathNavigator).
В случае если требуется обработка XSLT, для повышения производительности можно использовать класс XPathDocument, который является оптимизированным хранилищем «только для чтения» для запросов XPath, обеспечивающих эффективное взаимодействие с классом XslCompiledTransform.
Интеграция с ADO.NET. Классы XML и ADO.NET тесно интегрированы для сведения воедино реляционных данных и XML. Класс DataSet представляет собой кэш «в памяти» для данных, полученных из базы данных. Класс DataSet позволяет считывать и записывать код XML с помощью классов XmlReader и XmlWriter, сохранять внутреннюю реляционную структуру в виде схем XML (XSD) и логически выводить структуру схем XML-документов.
В этом разделе
Варианты обработки XML-данных Обсуждаются параметры обработки XML-данных.
Обработка XML-данных в памяти Содержит обсуждение трех моделей обработки XML-данных в памяти: LINQ to XML (C#) и LINQ to XML (Visual Basic), класс XmlDocument (основанный на модели W3C DOM) и класс XPathDocument (основанный на модели данных XPath).
Преобразования XSLT
Описывается, как использовать обработчик XSLT.
Модель объектов схемы XML (SOM)
Описываются классы, используемые для построения схем XML (XSD-файлов) и работы с ними, используя класс XmlSchema для загрузки и изменения схемы.
Интеграция XML с реляционными данными и ADO.NET
Описывается, как платформа .NET Framework реализует синхронный доступ в режиме реального времени к данным в реляционном и иерархическом представлении с помощью объектов DataSet и XmlDataDocument.
Управление пространствами имен в XML-документе
Описывает использование класса XmlNamespaceManager для хранения и ведения информации о пространствах имен.
Поддержка типов в классах System.Xml
Описывает сопоставление типов данных XML с типами CLR, преобразование типов данных XML и другие возможности по работе с типами, которые есть в классах System.Xml.
Связанные разделы
ADO.NET
Приводятся сведения о доступе к данным с помощью ADO.NET.
Безопасность
Приводятся общие сведения о системе безопасности в платформе .NET Framework.