gpt4 book ai didi

xpath - 使用Xpath和HtmlAgilityPack查找具有包含一个或多个特定单词的内部文本的所有元素

转载 作者:行者123 更新时间:2023-12-03 15:29:56 26 4
gpt4 key购买 nike

我正在尝试使用带有C#(.NET 4)的HtmlAgilityPack和Xpath构建一个简单的搜索引擎。
我想找到每个包含用户定义的搜索词的节点,但是似乎无法正确使用XPath。
例如:

<HTML>
<BODY>
<H1>Mr T for president</H1>
<div>We believe the new president should be</div>
<div>the awsome Mr T</div>
<div>
<H2>Mr T replies:</H2>
<p>I pity the fool who doesn't vote</p>
<p>for Mr T</p>
</div>
</BODY>
</HTML>

如果指定的搜索词是“Mr T”,则需要以下节点: <H1>,第二个 <div><H2>和第二个 <p>
我已经尝试了 doc.DocumentNode.SelectNodes("//text()[contains(., "+ searchword +")]");的多种变体,但是我似乎总是对整个DOM中的每个单个节点感到惊讶。

任何使我朝正确方向的提示将不胜感激。

最佳答案

使用:

//*[text()[contains(., 'Mr T')]]

这将选择XML文档中具有文本节点子级(包含字符串 'Mr T')的所有元素。

也可以缩写为:
//text()[contains(., 'Mr T')]/..

这将选择任何包含字符串 'Mr T'的文本节点的父级。

关于xpath - 使用Xpath和HtmlAgilityPack查找具有包含一个或多个特定单词的内部文本的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8948895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com