2

次のような 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 では、次のようにアクティビティ ノードを解析しようとしていました。

<cfset arrMainNodes = XmlSearch(soapResponse,  "//*[name()='Activity']")  />

問題は、代わりに、3 つの要素を持つ配列を取得する場合、6 つの配列 (親の 3 つと子の 3 つ) を取得することです。

私の人生では、子供ではなく兄弟のみを見つけるXPathステートメントを理解することはできません。

助けてください。

4

1 に答える 1

1

使用

//*[name()='Activity' and not(ancestor::*[name()='Activity' ])]

"Activity"これにより、名前がで、名前が。の祖先を持たない、ドキュメント内のすべての要素が選択されます"Activity"

于 2012-05-31T02:24:42.393 に答える