Rumah  >  Soal Jawab  >  teks badan

XPath mencari teks antara dua tag

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粉462328904P粉462328904424 hari yang lalu470

membalas semua(1)saya akan balas

  • P粉553428780

    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个兄弟文本节点:defghijklmnoptuvwxyz, setiap nod bermula dan berakhir dengan aksara baris baharu.

    Argumen kepada ungkapan

    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.

    balas
    0
  • Batalbalas