我有以下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条目?
感谢您的帮助。
答案 0 :(得分:1)
这次尝试四个变量和InnerXPathString:@* | child::node()/@*
其他值没有变化。