XPath with java:从包含文本格式子元素的元素中检索文本

时间:2014-08-05 12:29:35

标签: xpath

我有以下标签序列。

<div id="article-entry">
<p>
This is a paragraph for text extraction using  
<a href="http://www.w3schools.com/xpath/">xpath</a>
.
</p>

我想使用xpath从标签中检索以下文本。

  

这是使用xpath进行文本提取的段落。

我试过以下案例:

  

/格[@id =&#39;物品条目&#39;] / P /文本()

     

/格[@id =&#39;物品条目&#39; /ρ[// A /文本()] /文本()

     

/ div [@id =&#39;文章条目&#39;] / p [text()或// a / text()] / text()

     

/格[@id =&#39;物品条目&#39; /ρ[CONCAT(文本(),// A /文本())] /文本()

这些的输出是:

  

这是使用

进行文本提取的段落

任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

您可以尝试这种方式:

string(//div[@id='article-entry']/p)

或者您可以在<p>级别停留,然后使用getTextContent()

//div[@id='article-entry']/p

答案 1 :(得分:0)

您可以规范化{-1}核心函数的结果,该函数随节点集参数提供。

string()函数的工作方式,它将从参数中设置的节点开始按文档顺序排列第一个节点,并通过获取节点的字符串值将其转换为字符串,该字符串值是所有文本的串联每个XPath规范的元素节点的文档顺序的节点后代。

string()函数返回带有空格的参数字符串,该空格通过去除前导和尾随空格并用空格替换空白字符序列来标准化。

normalize-space()

此查询的结果是:

normalize-space(string(//div[@id='article-entry']/p))

足够近。