我想要做的是打印包含我正在搜索的内容的文字(代码如下)。目前我正在尝试使用HtmlAgilityPack
foreach(HtmlNode found in doc.DocumentNode.SelectNodes("//*[text()[contains(., Test123')]]"))
{
//print the text
}
我知道当它找到文本时(在本例中为Test123
),其周围会有大量文字。简单地打印Test123
将毫无意义。如果可能,我想打印包含Test123
的原始文本。这是一个例子......
<input name="something" value="aaaTest1234" />
和
<body>bbbTest12345</body>
...将分别打印aaaTest1234
和bbbTest12345
。
答案 0 :(得分:1)
对于“输入名称=”某事“value =”aaaTest1234“”(包括)'&lt;&gt;'中的所有内容将作为'HtmlNode found'返回,然后您应该解析'found'的Attributes值以获得您感兴趣的部分。 而对于第二个,你需要解析body的InnerText。
答案 1 :(得分:0)
如何打印HtmlNode
到OuterHtml
属性的原始HTML? :
foreach(HtmlNode found in doc.DocumentNode.SelectNodes("//*[text()[contains(., Test123')]]"))
{
//print HTML of the element that contain the text:
Console.WriteLine(found.OuterHtml);
}