XML-документы и данные

Платформа .NET Framework имеет всеобъемлющий и интегрированный набор классов, с помощью которых можно легко создавать приложения, использующие XML. Классы из следующих пространств имен поддерживают синтаксический анализ и запись XML-кода, изменение XML-данных в памяти, проверку данных и преобразование XSLT.

Чтобы получить полный список, выполните поиск System.Xml в браузере API .NET.

Классы из этих пространств имен поддерживают рекомендации W3C. Пример:

Классы 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.