ssis - 如何在 SSIS 中使用多个命名空间文件

标签 ssis

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

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

最佳答案

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

从工具栏拉出一个 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 任务并设置以下属性。

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

enter image description here

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

关于ssis - 如何在 SSIS 中使用多个命名空间文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19999695/

相关文章:

sql-server - 使用 SSIS 创建文件和文件夹到网络驱动器

sql-server-2008 - 从 SQL Server 加载 SSIS 是否会影响数据库缓存?

sql-server - Dts.Pipeline.ComponentVersionMismatchException - 脚本组件

excel - 使用 SSIS 2008 将 Excel 导入 SQL 时跳过行

google-analytics - 谷歌分析的目标数据阅读器

sql-server - SSIS 和 SSDT 2015

sql-server - 查找 SSIS 包上次修改/部署日期 - SQL Server

sql-server - 无法使用 SSIS 中的表达式将字符串转换为 DateTime

ssis - 刷新 Integration Services 中的目标架构元数据

sql - 动态列选择 SQL