Служба SSIS не обрабатывает несколько пространств имен в исходном файле XML. Ваш файл имеет пространства имен, которые включают ACMEHdr, Msg, Pmt, TransResp и т. Д. Вы можете найти примеры, где вы видите формат <Namespace:Element>
. Первый шаг во избежание использования нескольких пространств имен - это преобразование исходного файла в формат, который не ссылается на пространства имен.
В SSIS есть задача XML, которая может выполнять преобразование. Добавьте задачу XML в поток управления служб SSIS и отредактируйте ее. Измените значение свойства OperationType на XSLT, SourceType - на подключение к файлу, а Source - на исходный файл, в котором возникла проблема.
Установите для свойства SaveOperationResult значение True и разверните ветку OperationResult. Установите для параметра DestinationType значение Подключение к файлу, а для пункта назначения - новый файл XML.
Добавьте следующее в новый файл и сохраните его с расширением xslt.
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no" />
<xsl:template match="/|comment()|processing-instruction()">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()" />
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
Этот код взят из следующей статьи, в которой также приведена дополнительная информация об очистке исходного XML-файла: http://www.drdobbs.com/windows/219700581
Вернувшись к задаче XML, установите для параметра SecondOperandType значение «Подключение к файлу», а для второго операнда - новый файл XSLT.
Когда вы запускаете задачу XML, она возьмет ваш исходный файл и применит правила преобразования, определенные в файле XSLT. Результаты будут сохранены в вашем новом XML-файле. Эту задачу нужно запустить только один раз для исходного файла XML. Когда вы посмотрите на новый файл, вы увидите те же данные, что и в оригинале, но без ссылок на пространства имен.
Теперь вы можете вернуться к потоку данных и изменить источник XML для ссылки на новый файл XML. Нажмите Generate XSD, и вы сможете избежать ошибки.
Когда вы нажмете на вкладку Столбцы в вашем XML-источнике, вы, вероятно, увидите предупреждение. Это связано с тем, что типы данных могут быть определены не полностью (например, нет упоминаний о длинах строк). Это не должно быть проблемой, если тип данных по умолчанию (255-символьная строка Юникода) соответствует вашим потребностям.
Вот две ссылки, которые можно использовать для работы с объектами SSIS XML Task и XML Source . А вот хорошие ресурсы для XML , XSD и XSLT .