我收到的SOAP响应如下:
<Activity>
<Id>A</Id>
<Subject>foo</Subject>
<Activity>Task</Activity>
</Activity>
<Activity>
<Id>B</Id>
<Subject>bar</Subject>
<Activity>Appointment</Activity>
</Activity>
<Activity>
<Id>C</Id>
<Subject>snafu</Subject>
<Activity>Task</Activity>
</Activity>
在Coldfusion中,我试图用以下方法解析Activity节点:
<cfset arrMainNodes = XmlSearch(soapResponse, "//*[name()='Activity']") />
问题是,相反,如果获得一个包含三个元素的数组,我得到一个数组,其中包含6:3的父项和3个子项。
我不能为我的生活找出XPath声明,只会找到兄弟姐妹,而不是孩子。
请帮助。
答案 0 :(得分:1)
使用强>:
//*[name()='Activity' and not(ancestor::*[name()='Activity' ])]
这将选择文档中的所有元素,其名称为"Activity"
且没有名称为"Activity"
的祖先。