XPath定位兩個標籤之間的文字
P粉462328904
P粉462328904 2023-09-13 20:02:12
0
1
479

我需要一種方法來選擇兩個標籤之間的文字(第一個標籤和隨後的
標籤):

<div>
<span>abc</span>
defg
<br>
hijkl
<br>
mnop
<span>qrs</span>
tuvw
<br>
xyz
</div>

如何使用xpath表達式僅選擇“defg”?

我嘗試使用following-sibling來找到第一個標籤後面的第一個
標籤,但是我找不到選擇它們之間的文字的方法。

P粉462328904
P粉462328904

全部回覆(1)
P粉553428780

使用這個XML輸入,

<div>
<span>abc</span>
defg
<br/>
hijkl
<br/>
mnop
<span>qrs</span>
tuvw
<br/>
xyz
</div>

XPath表達式/div/span[1]/following-sibling::text()傳回第一個元素後面的5個兄弟文字節點:defghijklmnoptuvwxyz,每個節點都以換行符號開頭和結尾。

XPath 1.0表達式normalize-space(/div/span[1]/following-sibling::text())將傳回defg,沒有前導或尾隨空白,作為normalize-space()的參數,透過傳回節點集中的節點的字串值將其轉換為字串,該節點在文件順序中是第一個

在XPath 2.0及更高版本中,選擇序列中的第一個項目,例如:
normalize-space((/div/span[1]/following-sibling::text())[1]),這也適用於XPath 1.0。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板