2013-12-21 17 views
0

目的是什麼&使用text()的索引是這樣的:text()[index]xpath - text()[index]的用法

我觀察到,//p/text[2]讓我只paragraph text在這個例子:

<p> 
    <strong>important text</strong> 
    paragraph text 
</p> 

回答

1

p元素節點有三個子節點:

  1. 一個text以空格
  2. 節點strong元素節點
  3. 一個text節點以空格之後paragraph text後跟空格

如果使用//p/text(),可以選擇所有text子節點,使用//p/text()[2]您選擇第二text子節點(這是考慮到所有的第三子節點種類的節點)。

+0

我的不好,我忘記了'strong'之前的空白作爲文本節點。從你的迴應中,我明白當文本之間存在其他'標籤(如strong或b)'時,'text()'可以被分割(分割)。 – h4k1m

+1

@ h4k1m,元素可以具有混合內容,其中文本與元素子元素混合在一起。單個文本節點不會被分割或分割。 '/ p/text()'選擇幾個文本節點(樣本中有兩個),就像'// p/*'選擇所有子元素一樣(樣本中只有一個),但如果有更多的選擇一些)。 –

相關問題