複数の名前空間 XML ファイルをソースとして使用しています。すべての名前空間属性値を DW の 1 つのテーブルに格納する必要があります。
そのタイプのファイルをソースとして使用する方法を提案できる人はいますか?
複数の名前空間 XML ファイルをソースとして使用しています。すべての名前空間属性値を DW の 1 つのテーブルに格納する必要があります。
そのタイプのファイルをソースとして使用する方法を提案できる人はいますか?
最近この問題に遭遇したので、これがどのように解決されたかについていくつかのメモを投稿したいと思いました. 複数の名前空間を持つ XML ドキュメントをロードする前に、XSLT 変換を使用して変換する必要があります。SSIS は、XML タスクを介してこれを行うことができます。
ツールバーから XML タスクを取得し、それを制御フローに配置します
ファイル システムに新しい XSLT ファイルを作成し、次のコードをコンテンツとして使用します。
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/2013/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 タスクを開き、次のプロパティを設定します。
これらのアイテムがパッケージに追加されると、それを実行できるようになり、名前空間が削除された 2 番目のファイルが生成されます。