Поделиться через


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

.NET предоставляет комплексный и интегрированный набор классов, позволяющий легко создавать приложения с поддержкой 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 в .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) и 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.