我正在编写一个C#项目,我必须从给定的网站获取HTML源代码并在TreeView控件中显示它(每个html标记应该是一个节点)。
我已经放置了一个Web浏览器组件,我导航到该站点但是我在编写递归函数时无法获取HTML并从中创建TreeView。
我的谷歌搜索没有提供任何有用的解决方案。有人可以帮我提供任何提示,文章甚至例子吗?提前谢谢!
答案 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;
}