簡體   English   中英

如果XPath查詢中不存在第一個節點,如何返回另一個節點?

[英]How do I return a different node if the first node doesn't exist in an XPath Query?

如果第一個不存在,我想返回一個輔助節點名稱,例如:

return xpath_query("/root/(blue|red)");
// return /root/blue, or /root/red if it doesn't exist

這可能嗎?

謝謝

答:可以

那是一個有效的XPath 2.0表達式:

/root/(blue|red)

含義bluered的兒童root根元素。

如果您想要一個另一個不存在,則可以依賴文檔順序,例如:

/root/(blue|red)[1]

或更明確地說:

/root/(if (blue) then blue else red)

XPath 1.0的翻譯:

/root/*[self::blue|self::red]

/root/*[self::blue|self::red][1]

/root/*[self::blue|self::red[not(../blue)]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM