获取文本中的所有html节点

本文关键字:html 节点 取文本 获取 | 更新日期: 2023-09-27 17:49:53

我有一些文本(而不是HTML文档(,它们在其他单词之间只有a标签,比如这样(本例有两个a节点(:

<a rel="nofollow" target="_blank" href="http://loremipsum.net/">http://loremipsum.net/</a>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, <a rel="nofollow" target="_blank" href="http://loremipsum.net/">http://loremipsum.net/</a> sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

我想用单词"link"替换所有这些标签。此代码中的node

var node = HtmlNode.CreateNode(text);
var links = node.SelectNodes("//a[@href]");

只是指第一个链接,但我希望所有链接都在文本中。我怎样才能找到它们?谢谢

获取文本中的所有html节点

从文档中选择所有链接,然后替换其内部html:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(text);
foreach (var link in doc.DocumentNode.SelectNodes("//a")) 
    link.InnerHtml = "link";
string result = doc.DocumentNode.OuterHtml;

结果是

<a rel="nofollow" target="_blank" href="http://loremipsum.net/">link</a> 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, <a rel="nofollow" 
target="_blank" href="http://loremipsum.net/">link</a> sed diam nonummy nibh 
euismod  tincidunt ut laoreet dolore magna aliquam erat volutpat.