从SSIS中的XML获取数据

时间:2012-08-28 10:53:05

标签: xml ssis

我有以下XML:

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

我想在所有订单条目的每个循环中获取所有ID到SSIS变量。到目前为止,我可以使用SSIS中的控制流中的ForeachLoop获取前两个id,具有以下内容:

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

然后在变量映射中,我使用索引为0和1的两个字符串变量来获取这两个ID。如何获取INSTSPECIFIER元素的ID?什么是正确的XPath命令一次性获取所有四个ID?

注意,ORDER元素中只能有一个INSTSPECIFIER。此外,如果需要单独完成,例如在ForeachLoop中获取ORDER并在XMLTask中获取INSTSPECIFIER,则OrderID是主键。所以在这种情况下,问题是,如何在XMLTask中获取INSTSPECIFIER条目的InstID和SeqID,它具有带有特定OrderID的父ORDER条目?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这次尝试四个变量和InnerXPathString:@* | child::node()/@*其他值没有变化。