我想構建一個xpath表達式,該表達式評估XML代碼,然後僅在當前段落後跟編號列表時匹配。XPath以下兄弟表達式似乎返回子文本而不是跟隨兄弟節點
這裏是我的XML:
<para><b>Some text</b></para>
<numlist>
<numlitem><para>List item #1</para></numlitem>
<numlitem><para>List item #2</para></numlitem>
<numlitem><para>List item #3</para></numlitem>
</numlitem>
我使用XPath表達式是:
para[following-sibling::*[1]=numlist]
然而,這並沒有返回true。如果我評估以下xpath表達式
para[following-sibling::*[1]
結果是「某些文本」。但由於< b>是< para>的孩子,所以我不會期待這些結果。
下面的表達式返回true
para[following-sibling::numlist]
,所以我知道它看到numlist爲下面的兄弟姐妹,但我只希望它返回true,如果< numlist>是繼<對第一個兄弟>。
我正在使用XML軟件應用程序,該應用程序基於元素的特定上下文和條件應用樣式,其中xpath可用於確定。我試圖找出問題出在軟件上(我需要提交一個錯誤報告),或者如果這是我的xpath表達式的問題,我需要找出正確的表達式。
任何幫助,非常感謝!
感謝您的澄清。我去了第一個選項: 'para [name(following-sibling :: * [1])='numlist']' 我看到我的錯誤,並且這個工作完美。謝謝!! – tcarano 2013-04-22 22:28:05
@JLRishe,修改。 – 2013-04-22 22:46:19
很酷。我收回了我的評論。 – JLRishe 2013-04-22 22:54:51