如何在SSIS中使用多个名称空间文件

时间:2013-11-15 11:09:24

标签: ssis

我有一个多名称空间XML文件作为源。我必须将所有名称空间属性值存储在DW的单个表中,

任何人都可以建议我如何使用这种类型的文件作为来源?

1 个答案:

答案 0 :(得分:3)

我最近遇到过这个问题,所以我想发布一些关于如何解决这个问题的说明。在尝试加载多命名空间的XML文档之前,首先需要使用XSLT转换进行转换。 SSIS可以通过XML Task完成此任务。

从工具栏中拉出XML任务并将其置于控制流

enter image description here

在文件系统中创建一个新的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 Task并设置以下属性。

  • 操作类型= XSLT
  • SourceType = FileConnection
  • Source =为您设置的Source设置的文件连接 对于导入文件。
  • SaveOperationResults = True
  • DestinationType =文件
  • 目的地=为目标文件设置的文件连接
  • OverwriteDestination =设为首选
  • SecondOperandType =文件连接
  • SecondOperand =设置为保存上述XSLT代码的文件

enter image description here

将这些项目添加到您的软件包后,您应该能够运行它,并生成第二个文件,其中删除了名称空间。