我在这里发布,希望有专家权衡如何最好地结合不同节点深度的文本值和被索引的文本值。XPath 1.0 - 在不同节点深度选择文本
我想弄清楚如何从以下两个语句创建一个XPath 1.0语句。文本值位于不同的深度,第二个语句具有索引文本值。是
这两个路径我想结合如下:
div/div[contains(concat(' ', @class, ' '), ' comment-author ')]/a/text()
div/div[contains(concat(' ', @class, ' '), ' comment-author ')]/text()[2]
在此驻留是其中评论海报提供他们的姓名作为任一种锚(从中接触)或是上下文只是纯文本。
在第一条语句中选择的文本来自没有嵌套文本的锚点。在第二条语句中选择的文本需要索引,因为相邻或嵌套的文本存在,因此必须明确提供。
任何有关此事的建议或指导将不胜感激。
谢谢 迈克尔
编辑/后随
下面的摘录显示HTML(只是标签),但在特定的div类值留下的下调版本。在原来的问题提供的XPath值对应于从li
以下项目正在取得XPath查询:
<html>
<body>
<div>
<div>
<div>
<ol>
<li>
<div>
<div class="comment-author vcard">
<a>candaceerin</a>
<div class="commentmetadata">...</div>
</div>
</div>
</li>
<li>
<div>
<div class="comment-author vcard">
<img/> Rachel
<div class="commentmetadata">...</div>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
</body>
</html>
您能否提供一个两个配置的示例片段,使其对所有人都更加直观?根据模式,'div/div // text()'可能会诀窍 – Robin
感谢Robin,我正在评估一个网站来提取客户端的内容。该网页是:[链接](http://mybrownbaby.com/2014/01/the-problem-with-parenting-from-your-own-pain/),特别是底部的评论。当查看用户/海报名称时,一些名称是超链接(例如,candaceerin),而另一些则不是(例如,Rachel)。该网站将用户/海报名称显示为超链接或文字。 – Michael