2012-12-25 65 views
2
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://www.home.com"); 
myRequest.Method = "GET"; 
WebResponse myResponse = myRequest.GetResponse(); 
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), 
            System.Text.Encoding.UTF8); 
string result = sr.ReadToEnd(); 
sr.Close(); 
myResponse.Close(); 

該字符串包含該網頁的整個html,現在我想從該字符串中提取html標記。給定一個字符串中的網站HTML,如何提取標籤元素?

我該怎麼做?

回答

6

擁有Html Agility Pack可以解析HTML內容。 您可以看到示例here

HtmlDocument doc = new HtmlDocument(); 
doc.Load("file.htm"); 
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"]) 
{ 
    HtmlAttribute att = link["href"]; 
    att.Value = FixLink(att); 
} 
doc.Save("file.htm"); 
+0

嘿,我有包含整個html頁面,nt html文件的字符串。 所以我想解析這個字符串不是HTML文件... – asim

+0

@asmi,那麼,在這種情況下,將doc.Load替換爲doc.LoadHtml(result),它應該可以工作。 – Davita

相關問題