我正在嘗試使用HtmlAgilityPack和Xpath與C#(.NET 4)構建簡單的搜索引擎。 我想找到包含用戶定義的搜索詞的每個節點,但我似乎無法獲得正確的XPath。 例如:使用Xpath和HtmlAgilityPack查找包含特定單詞或單詞的所有含innertext的元素
<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>
如果指定的搜索內容是「T先生」我想以下節點:<H1>
,第二<div>
,<H2>
和第二<p>
。 我已經嘗試了很多doc.DocumentNode.SelectNodes("//text()[contains(., "+ searchword +")]");
的變體,但我似乎總是在整個DOM中的每個節點。
任何提示讓我在正確的方向將非常感激。
你的第二個表達式匹配正是OP說,他嘗試(除了額外的'..'),所以我不知道他爲什麼認爲它不起作用。 –
@lwburk:它「沒有用,因爲它選擇*文本節點*,他需要他們的父母。 –
對,我明白了,但它肯定不會選擇*」整個DOM中的每個節點*「(聲明) –