我試圖找到具有OR條件的節點的第一個preceding-sibling
。
例如,我有一個節點A
,我試着得到第一個兄弟B
,但是如果沒有B
,那麼得到第一個兄弟SPAN
。Xpath兄弟情況(或)
我不知道該怎麼辦OR條件:
這是我的嘗試:
A//preceding-sibling::B|SPAN[1]
A//preceding-sibling::B[1]|SPAN[1]
A//preceding-sibling::B[1]|preceding-sibling::SPAN[1]
A//(preceding-sibling::B[1]|preceding-sibling::SPAN[1]) // Xpath invalid
A//preceding-sibling::(B|SPAN)[1] // Xpath invalid
.... and many more
總之我在尋找:節點 - >preceding-sibling::NodeType1[1]
或preceding-sibling::NodeType2[1]
是有一種方法可以通過Xpath來實現,或者我必須嘗試一個,如果沒有結果,請嘗試另一個?
編輯:
好這個問題的答案是,我認爲StuartLC答案(我沒有嘗試)。
如果您正在尋找B
和SPAN
之間的第一個節點,那麼使用har07答案。
謝謝,這正是我一直在尋找。 – Duffydake 2014-12-13 02:38:01
這可能是你在找的東西,但這不是你要求的。如果在發現B之前發現SPAN,它將返回SPAN,而你說你想要B。 – 2014-12-13 09:50:25
@Michael Kay你是對的,但這是我的錯,我的問題是不正確的。這是我想要的答案。 – Duffydake 2014-12-13 11:27:11