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


Задача «XML»

Изменения: 17 июля 2006 г.

Задача «XML» используется для работы с XML-данными. С помощью этой задачи пакет может считывать XML-документы, производить операции над документами, используя таблицы стилей XSLT и выражения XPath, объединять несколько документов, проверять, сравнивать и сохранять обновленные документы в файлы и переменные.

Эта задача позволяет пакету служб Integration Services динамически изменять XML-документы во время выполнения. Можно использовать XML-задачу для следующих целей:

  • Изменение формата XML-документа. Например, задача может получить доступ к отчету, который хранится в XML-файле и динамически применить лист стиля XSLT, чтобы настроить представление документа.
  • Выбор разделов XML-документа. Например, задача может получить доступ к отчету, который хранится в XML-файле, и динамически применить выражение XPath, чтобы выбрать раздел документа. Эта операция также может получить значения обработки в документе.
  • Объединение документов из нескольких источников. Например, задача может загрузить отчет из нескольких источников и динамически объединить их в комплексный XML-документ.

Можно включить XML-данные в поток данных, используя XML-источник для извлечения значений из XML-документа. Дополнительные сведения см. в разделе XML-источник.

Вначале XML-задача ищет указанный XML-документ. Это действие встроено в задачу «XML» и выполняется автоматически. Найденный XML-документ используется в качестве источника данных для операций, выполняемых XML-задачей.

Для XML-операций Diff, Merge и Patch требуются два операнда. Первый операнд указывает на исходный XML-документ. Второй операнд также указывает на XML-документ, содержимое которого зависит от требований операции. Например, операция Diff сравнивает два документа; следовательно, второй операнд указывает на другой, похожий XML-документ, с которым сравнивается исходный XML-документ.

XML-задача может использовать переменную или диспетчер подключения файлов в качестве их источника либо включить XML-данные в свойство задачи.

Если источником является переменная, то указанная переменная содержит путь к XML-документу.

Если в качестве источника задан диспетчер подключений файлов, то указанный диспетчер подключений файлов предоставляет исходные данные. Диспетчер подключения файлов настраивается отдельно от XML-задачи, в которой на него есть ссылка. Строка соединения диспетчера подключений файлов представляет собой путь к XML-файлу. Дополнительные сведения см. в разделе Диспетчер подключения файлов.

XML-задача может быть настроена на сохранение результата в переменную или в файл. Если происходит сохранение в файл, XML-задача использует диспетчер подключений файлов для доступа к файлу. Можно также сохранить результаты Diffgram, созданные операцией Diff, в файлы или переменные.

Предопределенные операции XML

XML-задача включает предопределенный набор операций для работы с XML-документами. Данные операции описываются в следующей таблице.

Операция Описание

Diff

Сравнивает два XML-документа. Используя исходный XML-документ в качестве основного документа, операция Diff сравнивает его со вторым XML-документом, находит различия между ними и записывает их в XML-документ Diffgram. Эта операция содержит свойства для настройки сравнения.

Merge

Проводит слияние двух XML-документов. Используя исходный XML-документ в качестве основного, операция Merge добавляет содержимое второго документа к основному. Может быть указано место в основном документе, куда необходимо вставить данные.

Patch

Добавляет выходной документ операции Diff, называемый документом Diffgram, к XML-документу с целью создания нового документа, который включает содержимое документа Diffgram.

Validate

Проверяется соответствие XML-документа определению типа документа (DTD) или XSD-схеме (XML Schema definition).

XPath

Выполняет запросы и оценки XPath.

XSLT

Выполняет преобразования XSL в XML-документах.

Операция Diff

Операция Diff может быть настроена на использование различных алгоритмов сравнения в зависимости от того, должно быть сравнение быстрым или точным. Операция также может быть настроена на автоматический выбор быстрого или точного сравнения, в зависимости от размера сравниваемых документов.

Операция Diff включает набор параметров для настройки сравнения XML-документов. В следующей таблице приводятся описания дополнительных параметров.

Параметр Описание

IgnoreComments

Значение параметра указывает, нужно ли сравнивать комментарии.

IgnoreNamespaces

Значение параметра указывает на то, нужно ли сравнивать уникальный идентификатор ресурса (URI) пространства имен элемента и его имен атрибутов. Если этот параметр установлен в значение true, то два элемента, у которых одно и то же локальное имя, но различные пространства имен, считаются идентичными.

IgnorePrefixes

Значение параметра указывает, нужно ли сравнивать префиксы элементов и имен атрибутов. Если этот параметр установлен в значение true, то два элемента, у которых одно и то же локальное имя, но различные URI пространства имен и префиксы, считаются идентичными.

IgnoreXMLDeclaration

Значение параметра указывает, нужно ли сравнивать XML-объявления.

IgnoreOrderOfChildElements

Значение параметра указывает, нужно ли сравнивать порядок дочерних элементов. Если этот параметр имеет значение true, то дочерние элементы, отличающиеся только по позиции узлов одного уровня, считаются идентичными.

IgnoreWhiteSpaces

Значение параметра указывает, нужно ли сравнивать пробелы.

IgnoreProcessingInstructions

Значение параметра указывает, нужно ли сравнивать инструкции обработки.

IgnoreDTD

Значение параметра указывает, нужно ли пропускать DTD.

Операция XPath

Операция XPath может быть настроена на использование различных типов функциональности XPath.

  • Выберите параметр Вычисление, чтобы использовать такие функции XPath, как sum().
  • Выберите параметр Список узлов, чтобы вернуть выбранные узлы в виде XML-фрагмента.
  • Выберите параметр Значения, чтобы вернуть внутренние текстовые значения всех выбранных узлов, объединенных в одну строку.

Операция Validation

Можно настроить операцию Validation на использование определения типа документа (DTD) или определения XML-схемы (XSD).

Кодировка XML-документа

XML-задача поддерживает объединение только документов в Юникоде. Это значит, что задача может применить операцию Merge только к документам документов в Юникоде. Использование других кодировок приведет к ошибке при выполнении XML-задачи.

ms141055.note(ru-ru,SQL.90).gifПримечание.
В операциях Diff и Patch можно пропускать сведения в XML-данных второго операнда, что дает возможность использовать в этих операциях документы с другими кодировками.

Чтобы проверить возможность использования XML-документа, просмотрите объявления XML. Объявление должно явно указывать UTF-8, что означает 8-разрядную кодировку Юникод.

Следующие теги указывают на 8-разрядную кодировку Юникод.

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

Пользовательские сообщения для ведения журнала, доступные в задаче «XML»

В следующей таблице перечислены пользовательские записи в журнале для задачи «XML». Дополнительные сведения см. в разделах Реализация ведения журналов в пакетах и Пользовательские сообщения для ведения журнала.

Запись журнала Описание

XMLOperation

Сообщает сведения об операции, выполняемой задачей

Настройка XML-задачи

Свойства задаются через конструктор служб SSIS или программно.

Дополнительные сведения о свойствах, которые можно задать в конструкторе служб SSIS, см. в следующих разделах:

Дополнительные сведения об установке этих свойств в конструкторе служб SSIS см. в следующем разделе:

Программная настройка XML-задачи

Дополнительные сведения о программной установке этих свойств см. в следующих разделах:

См. также

Основные понятия

Задачи служб Integration Services
Создание пакета потока управления

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Измененное содержимое
  • Добавлена таблица пользовательских записей журнала.