HTML查找并替换href标记

时间:2012-10-29 16:59:39

标签: c# html html-parsing

  

可能重复:
  What is the best way to parse html in C#?

我正在解析HTML文件。我需要在html中找到所有href标签并替换它们 带有文字友好版本。

这是一个例子。

Original Text: <a href="http://foo.bar">click here</a> 
replacement value: click here <http://foo.bar>

我如何实现这一目标?

1 个答案:

答案 0 :(得分:4)

您可以使用Html Agility Pack library,代码如下:

        HtmlDocument doc = new HtmlDocument();
        doc.Load(myHtmlFile); // load your file

        // select recursively all A elements declaring an HREF attribute.
        foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//a[@href]"))
        {
            node.ParentNode.ReplaceChild(doc.CreateTextNode(node.InnerText + " <" + node.GetAttributeValue("href", null) + ">"), node);
        }

        doc.Save(Console.Out); // output the new doc.