[英]How to get an element if a condition is true in xpath
我有一個像這樣的XML文件:
<div class="main">
<div aria="location">
...
</div>
<div class="transcript">
...
</div>
</div>
我想獲得aria=" location "
的div
,如果有一個元素,並且如果不存在那個條件的元素,則獲取class=" transcript "
的div
。 我在chrome inspect element標簽中檢查了我的XPath,我想使用它。
您可以使用XPath:
(//div[@aria='location']|//div[@class='transcript' and not(following::div[@aria='location'])])[1]
說明:
(
分組
//div[@aria='location']
查找具有aria
屬性值location
的div
元素 |
要么 //div[@class='transcript' and not(following::div[@aria='location'])]
找到一個div
與元素class
屬性值transcript
,並且沒有div
與元素aria
屬性值location
后它,按文檔順序 )
結束分組 [1]
取得第一個結果 following
檢查是必要的,因為如果我們剛使用過:
(//div[@aria='location']|//div[@class='transcript])[1]
然后,如果按文檔順序將具有類transcript
的div
元素排在具有aria
location
的div
之前,則由於XPath遍歷的工作原理,將返回具有類transcript
的div
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.