Задача «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-задачи.
Примечание. |
---|
В операциях 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 г. |
|