0

我有以下 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>

我想在每个循环中为所有订单条目获取 SSIS 变量的所有 ID。到目前为止,我可以在 SSIS 的控制流中使用 ForeachLoop 获取数据,其中包括:

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

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

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

谢谢您的帮助。

4

1 回答 1

1

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

于 2012-08-29T22:16:21.413 回答