xpath在p标签中获取文本 - xpath轴?

时间:2014-05-02 22:04:10

标签: html xpath

<div class="details">
    <p><b>Compatibility:</b> All versions</p>
    <p><b>Category:</b> Entertainment</p>
    <p><b>Updated:</b> Apr 2, 2014</p>
    <p><b>Version:</b> 1.3</p>
    <p><b>Size:</b> 1 MB</p>
    <p><b>Language:</b> English</p>
    <p><b>Artist:</b>Arts101</p>
</div>

我需要在p标记中获取文字,例如:

  • 兼容性
  • 所有版本
  • 分类
  • 娱乐

依旧......

假设我已经知道兼容性,类别等存在,我如何获得相应的文本,即所有版本,娱乐等?即我需要一些可以通过&#34;兼容性&#34;进行搜索的xpath,然后给我&#34;所有版本&#34;。

我想我需要使用xpath轴,但不确定如何...

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

b获取text()代码并选择以下text兄弟:

//b[text()="Compatibility:"]/following-sibling::text()

使用xmllint进行演示:

$ xmllint input.html --xpath '//b[text()="Compatibility:"]/following-sibling::text()'
All versions

答案 1 :(得分:0)

您可以测试b内的p元素的内容,然后获取p的内容:

/div[@class='details']/p[contains(b, 'Compatibility')]/text()