如何使用HtmlAgilityPack添加<link />或<meta />标签?

时间:2010-07-11 16:10:13

标签: c# html asp.net-mvc html-agility-pack dom

link下载文档的http://htmlagilitypack.codeplex.com返回错误,我无法通过尝试代码来解决这个问题。

我正在尝试将各种标记插入到我从HTML字符串加载的HtmlDocument的<head>部分。我遇到的原始问题描述为here

有人能告诉我如何实现这个目标吗?感谢

1 个答案:

答案 0 :(得分:13)

也许有点晚了:-)假设我有这个test.htm Html文件:

<html>
<head>
    <title>Hello World!</title>
</head>
<body>
    Hello World
</body>
</html>

以下是在HEAD元素下添加LINK元素的方法。你不会故意将语义与System.Xml非常接近:

HtmlDocument doc = new HtmlDocument();
doc.Load("test.htm");

HtmlNode head = doc.DocumentNode.SelectSingleNode("/html/head");

HtmlNode link = doc.CreateElement("link");
head.AppendChild(link);
link.SetAttributeValue("rel", "shortcut icon");
link.SetAttributeValue("href", "http://www.mysite.com/favicon.ico");

结果将是:

<html>
<head>
    <title>Hello World!</title>
<link rel="shortcut icon" href="http://www.mysite.com/favicon.ico"></head>
<body>
    Hello World
</body>
</html>