我需要一種方法來選擇兩個標籤之間的文字(第一個標籤和隨後的
標籤):
<div> <span>abc</span> defg <br> hijkl <br> mnop <span>qrs</span> tuvw <br> xyz </div>
如何使用xpath表達式僅選擇“defg”?
我嘗試使用following-sibling
來找到第一個標籤後面的第一個
標籤,但是我找不到選擇它們之間的文字的方法。
P粉5534287802023-09-14 17:41:03
使用這個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個兄弟文字節點:defg
、hijkl
、mnop
、tuvw
和xyz
,每個節點都以換行符號開頭和結尾。
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。