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


XML-источник

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

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

XML-источник использует схему для представления данных в формате XML. XML-источник поддерживает использование файла определения схемы XML (XSD) или встроенных схем для перевода данных из формата XML в табличный формат. XML-источник может быть настроен с помощью диалогового окна Редактор источника «XML», интерфейс пользователя может создавать XSD-файл из указанного XML-файла.

ПримечаниеПримечание

Определения DTD не поддерживаются.

Схемы поддерживают только одно пространство имен, они не поддерживают коллекции схем.

ПримечаниеПримечание

XML-источник не сверяет данные в XML-файле с XSD.

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

XML-источник содержит пользовательские свойства XMLData и XMLSchemaDefinition, которые можно обновлять выражениями свойств во время загрузки пакета. Дополнительные сведения см. в разделах Справочник по выражениям служб Integration Services, Использование выражений свойств в пакетах и Пользовательские свойства источника.

XML-источник поддерживает несколько обычных выходов и несколько выходов ошибок.

Службы SQL Server Integration Services включают в себя диалоговое окно Редактор источника «XML» для настройки этого источника. Это диалоговое окно доступно из конструктора служб SSIS.

Использование редактора XML-источника

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

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

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

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

XML-источник также создает имена выходов, чтобы убедиться в том, что эти имена однозначны. Эти имена могут быть длинными и оказаться неудобными для идентификации выходов. Выходы можно переименовывать с условием уникальности новых имен. Также можно изменить тип данных и длину выходных столбцов.

Для каждого выхода XML-источник добавляет выход ошибок. По умолчанию столбцы выхода ошибок имеют строковый тип данных в формате Юникод (DT_WSTR) длиной 255 символов, но эти столбцы выхода ошибок можно настраивать, изменяя тип данных и длину.

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

Когда данные извлекаются из XML-файла данных, они преобразуются в тип данных служб Integration Services. Однако источник XML не может преобразовать XML-данные в типы данных DT_TIME2 или DT_DBTIMESTAMP2, поскольку источник эти типы не поддерживает. Дополнительные сведения см. в разделе Типы данных служб Integration Services.

XSD-файл или встроенная схема может определять тип данных элементов, но если это не так, то диалоговое окно Редактор источника «XML» устанавливает тип данных строки Юникода (DT_WSTR) для столбца выхода, содержащего этот элемент, и устанавливает длину столбца, содержащую 255 символов.

Если схема данных указывает максимальную длину элемента, длина выходного столбца становится равной этому значению. Если максимальная длина больше длины, поддерживаемой типом данных служб Integration Services, к которому приведен элемент, то данные усекаются до допустимой для этого типа максимальной длины. Например, если длина строки 5000, она усекается до 4000 символов, так как максимальная длина типа данных DT_WSTR — 4000 символов; таким же образом данные типа byte урезаются до 8000 — до максимальной длины типа данных DT_BYTES. Если в схеме не указана максимальная длина, то по умолчанию длина столбцов с любым типом данных составляет 255. Усечение данных в XML-источнике происходит так же, как и в других компонентах потока данных. Дополнительные сведения см. в разделе Обработка ошибок в данных в потоке данных.

Тип данных и длина столбца могут быть изменены. Дополнительные сведения см. в разделе Типы данных служб Integration Services.

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

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

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

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

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

Значок служб Integration Services (маленький) Будьте в курсе новых возможностей cлужб Integration Services

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.