SSIS XML 数据源问题 - SQL Server 2008 R2



我在使用 XML 数据源时遇到了一些问题。 基本上,我想点击xml文档,然后拉回文档中的两个值(状态和描述)并将它们记录到表中。当我尝试查看文档中的可用列时,我在 XML 源代码编辑器 SSIS 屏幕中看不到任何可用列,单击列选项卡时没有收到任何错误,只是似乎没有可用的列。 我猜 xml 数据不够复杂,无法通过读取以下站点来使用它:

http://resquel.com/ssb/CommentView,guid,4fac4c46-b1e1-48a5-9434-4fa5e3eac48f.aspxhttp://blogs.msdn.com/b/mattm/archive/2007/12/11/using-xml-source.aspx

但是,我找不到任何文档可以以一种或另一种方式明确地告诉我。 任何帮助将不胜感激!

XML文档在这里:

<?xml version='1.0' encoding='ISO-8859-1'?>
<Response>
    <Status>Error</Status>
    <Description>Transaction Already Approved</Description>
</Response>

我在这里使用的XSD格式:

<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Response">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Status" type="xs:string" />
        <xs:element minOccurs="0" name="Description" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

修改生成的 XSD 以添加maxOccurs="unbounded属性,如下所示:

<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Response">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="Status" type="xs:string" />
        <xs:element minOccurs="0" maxOccurs="unbounded" name="Description" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

接受对话框,您将在向导的列视图中的组合列表中获得两个字段。

我希望它有所帮助。

您的 XML 文档看起来很简单...您是否尝试使用"XML 源"的"生成 XSD"按钮来生成可由 SSIS 管理的简单 XSD?

最新更新