1

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

http://resquel.com/ssb/CommentView,guid,4fac4c46-b1e1-48a5-9434-4fa5e3eac48f.aspx http://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>
4

2 回答 2

1

修改生成的 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>

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

我希望它有帮助。

于 2012-10-04T23:05:54.570 回答
0

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

于 2012-10-03T22:16:58.397 回答