Как добавить теги <link>или <meta>в <head>с помощью HtmlAgilityPack? - PullRequest
3 голосов
/ 11 июля 2010

Ссылка для загрузки документации с http://htmlagilitypack.codeplex.com возвращает ошибку, и я не могу понять это, попробовав код.

Я пытаюсь вставить различные теги в раздел <head> HtmlDocument, который я загрузил из строки HTML. Оригинальная проблема, которую я имею, описана здесь .

Может кто-нибудь дать мне представление о том, как этого добиться? Спасибо

1 Ответ

13 голосов
/ 21 марта 2011

Возможно, немного поздно :-) Предположим, у меня есть этот test.htm HTML-файл:

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

Вот как добавить элемент LINK под элементом HEAD.Вам не будет семантика очень близка к 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>
...