C 介紹C 解析HTML的兩種方法

2021-07-25 16:27:49 字數 2737 閱讀 5057

一些爬蟲的html解析中也是用的類似的方法。

c#解析html的第二種方法:

個人認為這是.net平台下解析html不錯的解決方案,基本上能夠滿足我們對html的解析工作。

自己做了個例項:

usingsystem;  

usingsystem.collections.generic;  

usingsystem.componentmodel;  

usingsystem.data;  

usingsystem.drawing;  

usingsystem.linq;  

usingsystem.text;  

usingsystem.windows.forms;  

usingwinista.text.htmlparser;  

usingwinista.text.htmlparser.lex;  

usingwinista.text.htmlparser.util;  

usingwinista.text.htmlparser.tags;  

usingwinista.text.htmlparser.filters;  

namespacehtmlparser  

private

voidbtnparser_click(objectsender, eventargs e)  

catch(exception ex)  

#endregion

#region 分析網頁html節點

lexer lexer =newlexer(this.txthtmlwhole.text);  

parser parser =newparser(lexer);  

nodelist htmlnodes = parser.parse(null);  

this.treeview1.nodes.clear();  

this.treeview1.nodes.add("root"

);  

treenode treeroot =this.treeview1.nodes[0];  

for(inti = 0; i 

#endregion

}private

voidrecursionhtmlnode(treenode treenode, inode htmlnode,boolsiblingrequired)  

";  

}if(tag.attributes["href"

] !=null)  

";  

}  }  

current =newtreenode(nodestring);  

treenode.nodes.add(current);  

}  }  

//獲取節點間的內容

if(htmlnode.children !=null&& htmlnode.children.count > 0)  

//the sibling nodes

if(siblingrequired)  

}  }private

voidaddurl()  

}  } 

執行效果:

實現取來很容易,結合winista.htmlparser原始碼很快就可以實現想要的效果。

小結:

簡單介紹了兩種c#解析html的的方法,大家有什麼其他好的方法還望指教

本文**:

介紹C 解析HTML的兩種方法

在搜尋引擎的開發中,我們需要對html進行解析。本文介紹c 解析html的兩種方法。ad 在搜尋引擎的開發中,我們需要對網頁的html內容進行檢索,難免的就需要對html進行解析。拆分每乙個節點並且獲取節點間的內容。此文介紹兩種c 解析html的方法。c 解析html的第一種方法 估計這也是大家最直...

C 讀寫txt檔案的兩種方法介紹

c 讀寫txt檔案的兩種方法介紹 1.新增命名空間 system.io system.text 2.檔案的讀取 1 使用filestream類進行檔案的讀取,並將它轉換成char陣列,然後輸出。byte bydata new byte 100 char chardata new char 1000 ...

C 讀寫txt檔案的兩種方法介紹

1.新增命名空間 system.io system.text 2.檔案的讀取 1 使用filestream類進行檔案的讀取,並將它轉換成char陣列,然後輸出。byte bydata new byte 100 char chardata new char 1000 public void read ...