Есть ли объект в C #, который позволяет легко управлять HTML DOM?

c# dom dom-manipulation html-agility-pack

Вопрос

Если у меня есть строка, содержащая html со страницы, которую я только что получил из HTTP Post, как я могу превратить это во что-то, что позволит мне легко пересечь DOM?

Я понял, что объект HtmlDocument имеет смысл, но у него нет конструктора. Существуют ли типы, которые позволяют легко управлять HTML DOM?

Благодаря,
Matt

Принятый ответ

HtmlDocument - это экземпляр документа, который уже загружен элементом управления WebBrowser. Таким образом, нет ctor.

Html Agility Pack - лучшая библиотека, которую я использовал для этой цели

Пример из вики-файла codeplex

HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href]"))
{
    HtmlAttribute att = link["href"];
    att.Value = FixLink(att);
}
doc.Save("file.htm");

В этом примере показана загрузка файла, но есть перегрузки, которые позволяют загружать строку или поток.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему