Исходный код HTML в TreeView C #

0

Я пишу проект С#, и мне нужно получить исходный код HTML с данного сайта и показать его в элементе управления TreeView (каждый тег html должен быть узлом).

Я уже разместил компонент веб-браузера, я перейду на сайт, но у меня возникли проблемы с записью рекурсивной функции для получения HTML-кода и создания TreeView.

Мои поисковые запросы Google не предоставили никаких полезных решений. Может ли кто-нибудь помочь мне с советами, статьями или даже примерами? Заранее спасибо!

Теги:
dom
treeview

2 ответа

0
Лучший ответ

Вы ищете что-то вроде этого?

public Form1()
{
    InitializeComponent();
    string url = "http://www.google.com";
    wb.Navigate(url);  
}
TreeView tv = new TreeView();
private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    WebBrowser wb = (WebBrowser)sender;
    if (wb.ReadyState == WebBrowserReadyState.Complete)
        tv.Nodes.Add(LoadNode(wb.Document.Body));
}
private TreeNode LoadNode(HtmlElement htmlElm)
{
    TreeNode tn = new TreeNode(htmlElm.TagName);
    for (int i = 0; i < htmlElm.Children.Count; i++)
        tn.Nodes.Add(LoadNode(htmlElm.Children[i]));
    return tn;
}
  • 0
    Спасибо, это сработало! Есть ли способ также получить голову HTML, а не только тело?
  • 0
    Вы можете использовать «wb.Document.Body.Parent» вместо «wb.Document.Body»
0

Проверьте HtmlAgilityPack - он отлично подходит для разбора кода HTML в коде, и вы можете использовать Linq для навигации по всем элементам html.

  • 0
    Спасибо за ваш ответ, но он не должен содержать никаких "внешних" библиотек.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню