Чтение и редактирование HTML в .Net - PullRequest
1 голос
/ 19 января 2009

Существует ли класс .Net для чтения и обработки html, отличный от System.Windows.Forms.HtmlDocument.

Если нет, есть ли для этого библиотеки с открытым исходным кодом.

Ответы [ 4 ]

3 голосов
/ 07 февраля 2009

Кажется, что лучший вариант для анализа Html в приложениях .Net - это использовать библиотеку Html Agility Pack , найденную в codeplex. Это обеспечивает полный доступ DOM к HTML и очень прост в использовании.

2 голосов
/ 19 января 2009

Вы можете использовать библиотеку MSHTML. Однако это COM / ActiveX, но если вы используете Visual Studio, он автоматически создаст для вас управляемую оболочку.

2 голосов
/ 19 января 2009

Я бы сделал что-то подобное, если бы оно соответствовало XHTML:

System.Xml.XmlDocument xDoc = new System.Xml.XmlDocument();
xDoc.LoadXml(html);

И отредактируйте это так. Если требуется некоторая очистка (преобразование XHtml), вы можете использовать HtmlTidy или Ntidy . Кроме того, вы можете использовать эту HTMLTidy оболочку пример ниже:

string input = "<p>broken html<br <img src=test></div>";
HtmlTidy tidy = new HtmlTidy()
string output = tidy.CleanHtml(input, HtmlTidyOptions.ConvertToXhtml);
XmlDocument doc = new XmlDocument();
doc.LoadXml(output);

Ссылка на StackOverFlow

РЕДАКТИРОВАТЬ выше будет преобразован в XHtml

0 голосов
/ 19 января 2009

вы всегда можете использовать LiteralControl:

PlaceHolder.Controls.Add(new LiteralControl("<div>some html</div>"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...