TreeView C#中的HTML源代码

时间:2014-03-04 16:43:19

标签: c# html dom treeview

我正在编写一个C#项目,我必须从给定的网站获取HTML源代码并在TreeView控件中显示它(每个html标记应该是一个节点)。

我已经放置了一个Web浏览器组件,我导航到该站点但是我在编写递归函数时无法获取HTML并从中创建TreeView。

我的谷歌搜索没有提供任何有用的解决方案。有人可以帮我提供任何提示,文章甚至例子吗?提前谢谢!

2 个答案:

答案 0 :(得分:0)

查看HtmlAgilityPack - 它非常适合在代码中解析Html,您可以使用Linq浏览所有html元素。

答案 1 :(得分: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;
}