Cerco navigazione albero pagine html

sabato 16 dicembre 2006 - 18.35

luighandi Profilo | Newbie

sto cercando un analizzatore di albero html, qualcuno sa dirmi dove posso trovarne??

io ho trovato solo un navigator scritto in visual java ma senza dll o altro che posso utilizzare in C# aggiungendolo nei references..quindi penso che sia inutilizzabile, giusto??

se qualcuno mi potesse aiutare ne sarei molto grato...



freeteo Profilo | Guru

ciao,
scusa del ritardo ma dato che ho fatto qualcosa del genere qualche giorno fa, mi è venuto in mente che c'era un thread che chiedeva una cosa simile ed eccomi qui a risponderti
Se non hai gia' risolto, ti posto il codice che ho usato io per farne uno 1po scarso (nel senso che potrebbe sbagliare con qualche pagina complessa) pero' per quello che mi serviva era piu' che ottimo.
Tu magari vedi di aggiustarlo 1po alla tua esigenza, cmq intanto ti posto il codice.

private void creaTreeHtml(string pFilePath) { treeView1.Nodes.Clear(); string zFile = File.ReadAllText(pFilePath); Regex regx = new Regex("<[^!](.|\n)*?>"); TreeNode nod = treeView1.Nodes.Add("html"); foreach (Match ma in regx.Matches(zFile)) { //--- controllo non sia un tag di chiusura if (!ma.Value.StartsWith("</")) { nod.Nodes.Add(ma.Value); //--- tag tipo meta o img //--- si chiudono sulla stessa dichiarazione if (!ma.Value.Contains("/>")) nod = nod.LastNode; } else { //--- se è un tag di chiusura torno al padre nod = nod.Parent; } } }

Dove il parametro è il path del file html, e Treeview1 è il nome della trereview della form dove mi serviva, probabilmente a te non servira'....
Come vedi si basa su regex, è ed il "segreto" per poter parsare i file di testo in maniera agile e strutturata.
Spero non sia troppo tardi e che ti sia d'aiuto.
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5