Oana and Arthur | Our dev blog




Parser HTML in web app

HTML Agility Pack (link) este o solutie de pe CodePlex creata in .NET, care permite manipularea fisierelor HTML din aplicatii web.
Contine proiectul propriu-zis de tipul Class library si un folder virtual cu 4 proiecte exemple de utilizare (conversii in XML, TXT si RSS).

Un obiect HTML poate fi obtinut dintr-un TextReader, o cale sau un Stream prin metoda Load (are 11 overload-uri), sau direct din continutul html in format string prin metoda LoadHtml.

Exemplu:
//continutul HTML obtinut ca byte array prin WebClient si apoi convertit in string cu ajutorul UTF8Encoding
string contentHTML;
HtmlDocument
doc = new HtmlDocument
();
doc.LoadHtml(contentHTML);

Pentru accesarea unui anumit element din DOM se foloseste XPATH.
HtmlNode
nod = doc.DocumentNode.SelectSingleNode("//div[@class=align_right]/table[@id]");

De asemenea se pot parcurge noduri din intreaga ierarhie, sau cele direct inrudite Parent, Sibling sau Child sau se pot obtine direct atributele sau continutul lor.

Tags: , ,
Categories: .NET | Web
0 Comments
Actions: E-mail | Permalink | Comment RSSRSS comment feed