这是我更大的html文件的示例html输入部分。
string html = "<html> <p>Ingredients:</p> </html>";
我想只检索内部文字成分的节点。 成分可能会出现在html节点p,div,strong等中。
使用HtmlAgility包和linq实现此目的的c#代码是
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
List<HtmlNode> ingredientList = doc.DocumentNode.Descendants().Where
(x => x.InnerText.Contains("Ingredients:")).ToList();
此代码的结果为我提供了3个节点
<html> node
<p> node
#text node
我只想要检索
<p> node
答案 0 :(得分:0)
如果您的平台支持XPath,即HtmlAgilityPack的SelectNodes()
方法,则可以使用XPath表达式获取其直接子文本节点之一包含关键字的元素:
List<HtmlNode> ingredientList = doc.DocumentNode
.SelectNodes("//*[text()[contains(.,'Ingredients:')]]")
.ToList();