Rumah > Soal Jawab > teks badan
Saya memerlukan cara untuk memilih teks antara dua tag (teg pertama dan teg
berikutnya):
<div> <span>abc</span> defg <br> hijkl <br> mnop <span>qrs</span> tuvw <br> xyz </div>
Bagaimana untuk memilih hanya "defg" menggunakan ungkapan xpath?
Saya cuba menggunakan following-sibling
untuk mencari teg pertama selepas teg
pertama, tetapi saya tidak dapat mencari cara untuk memilih teks di antara mereka.
P粉5534287802023-09-14 17:41:03
Gunakan input XML ini,
<div> <span>abc</span> defg <br/> hijkl <br/> mnop <span>qrs</span> tuvw <br/> xyz </div>
Ekspresi XPath/div/span[1]/following-sibling::text()
返回第一个元素后面的5个兄弟文本节点:defg
、hijkl
、mnop
、tuvw
和xyz
, setiap nod bermula dan berakhir dengan aksara baris baharu.
XPath 1.0 normalize-space(/div/span[1]/following-sibling::text())
将返回defg
,没有前导或尾随空白,作为normalize-space()
yang ditukar kepada rentetan dengan mengembalikan nilai rentetan nod dalam set nod iaitu pertama dalam tertib dokumen.
Dalam XPath 2.0 dan ke atas, pilih item pertama dalam urutan, contohnya:
normalize-space((/div/span[1]/following-sibling::text())[1])
, ini juga berfungsi dalam XPath 1.0.