我正在編寫一個C#項目,我必須從給定網站獲取HTML源代碼並在TreeView控件中顯示它(每個html標籤都應該是一個節點)。在TreeView C#中的HTML源代碼#
我已經放置了一個Web瀏覽器組件,我導航到該網站,但我無法編寫遞歸函數來獲取HTML並創建TreeView。
我的谷歌搜索沒有提供任何有用的解決方案。任何人都可以幫助我提供任何提示,文章甚至例子嗎?提前致謝!
我正在編寫一個C#項目,我必須從給定網站獲取HTML源代碼並在TreeView控件中顯示它(每個html標籤都應該是一個節點)。在TreeView C#中的HTML源代碼#
我已經放置了一個Web瀏覽器組件,我導航到該網站,但我無法編寫遞歸函數來獲取HTML並創建TreeView。
我的谷歌搜索沒有提供任何有用的解決方案。任何人都可以幫助我提供任何提示,文章甚至例子嗎?提前致謝!
你在尋找類似的東西嗎?
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;
}
謝謝,它工作!有沒有什麼辦法可以讓head html和body不僅? – user3379951
您可以使用「wb.Document.Body.Parent」而不是「wb.Document.Body」 – GorkemHalulu