【问题标题】:XML indexing in SSIS with different lengthSSIS中不同长度的XML索引
【发布时间】:2012-08-29 10:10:32
【问题描述】:

我有以下 XML:

<?xml version="1.0" encoding="UTF-16"?>
<APIDATA xmlns="api-com">
<ORDER EngineID="1" OrderID="66" OtherInfo="yes"><INSTSPECIFIER InstID="27" SeqID="17"/></ORDER>
<ORDER EngineID="2" OrderID="67" OtherInfo="yes"><INSTSPECIFIER InstID="28" SeqID="18"/></ORDER>
<ORDER EngineID="3" OrderID="68"><INSTSPECIFIER InstID="29" SeqID="19"/></ORDER>
</APIDATA>

我想在一个 for each 循环中为所有 Order 条目获取 SSIS 变量的所有 ID。到目前为止,我可以在 SSIS 的控制流中使用 ForeachLoop 获取数据,具体如下:

EnumerationType:  ElementCollection
OuterXPathString: //*[name() = 'ORDER']
InnerElementType: NodeText
InnerXPathString: @* | child::node()/@*

然后在变量映射上我遇到了问题,XML 的行长度不同。例如:第三行没有 OtherInfo 条目。如果我将变量映射到索引 4,这会导致循环因错误而死。

这个问题的解决方法是什么?

感谢您的帮助。

【问题讨论】:

    标签: xml ssis


    【解决方案1】:

    这次使用@*[name() = 'EngineID'] | @*[name() = 'OrderID'] | child::node()/@*[name() = 'InstID'] | child::node()/@*[name() = 'SeqID'] 作为 InnerXPathString。

    【讨论】:

    • 谢谢,就是这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 2018-02-22
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    相关资源
    最近更新 更多