Я пытаюсь загрузить ниже XML в таблицу SQL Server с помощью SSIS. Оригинальный XML:XML-XSD с использованием SSIS
<RESULTS>
<SEARCHRESULT RECORDS="3014">
<ROW ROWNUM="1" PKField="EntityCounter">
<COLUMN COLNUM="1" NAME="EntityCounter" DATATYPE="number">1234</COLUMN>
<COLUMN COLNUM="2" NAME="Reference ID" DATATYPE="string">5678</COLUMN>
<COLUMN COLNUM="3" NAME="Name" DATATYPE="string">XYZ</COLUMN>
<COLUMN COLNUM="4" NAME="Entity Type" DATATYPE="string">LMN</COLUMN>
</ROW>
</SEARCHRESULT>
</RESULTS>
В таблице назначения имеет 4 колонки: EntityCounter, идентификаторСсылки, имя и EntityType. Когда я создаю XSD для такого файла, я не получаю ожидаемый результат.
Источник XML генерирует четыре столбца на выходе: ROW_ID, RWONUM, PKField и SEARCHRESULT_Id.
я смог загрузить данные, когда я изменил XML, как показано ниже: Modified XML:
<RESULTS>
<SEARCHRESULT RECORDS="3014">
<ROW ROWNUM="1" PKField="EntityCounter">
<EntityCounter>1234</EntityCounter>
<ReferenceID>5678</ReferenceID>
<Name>XYZ</Name>
<EntityType>LMN</EntityType>
</ROW>
</SEARCHRESULT>
</RESULTS>
Когда я создаю и использовать XSD для указанного выше файла, исходный XML генерирует семь столбцов на выходе: ROWNUM , PKFiled, EntityCounter, ReferenceID, Name, EntityType и SEARCHRESULT_Id.
Возможно ли сгенерировать подобный вывод с использованием оригинального XML?
Возможны два варианта использования xslt для изменения xml перед обработкой или использования сводного преобразования в потоке данных для размещения строк в столбцах. Я не знаком с xsd достаточно, чтобы узнать, есть ли какая-то магия, которую можно сделать там. –
Благодарим вас за ввод Mark. – Swapnil