2010-06-09 11 views
0

Je voudrais lire et analyser certains éléments de fichiers html, mais je ne suis pas intéressé par le rendu de quelque façon que ce soit. Fondamentalement, je voudrais passer par toutes mes balises div et obtenir certains de ses attributs de style. C'est ce que je l'ai fait jusqu'à présent:Utiliser Qt pour lire et analyser les fichiers html avec QWebKit?

QWebPage page; 
QWebFrame * frame = page.mainFrame(); 

QUrl fileUrl("localFile.html"); 
frame->setUrl(fileUrl); 

QWebElement document = frame->documentElement(); 
QWebElementCollection elements = document.findAll("div"); 

foreach (QWebElement element, elements){ 
    std::cout << element.attribute("style").toStdString() << std::endl; 
} 

ne montre rien. Je suis un peu confus si je pouvais utiliser les webkits de cette façon. P.D .: J'utilise un filechooser pour choisir la racine html locale.

Répondre

1

Si vous ne voulez pas afficher, pourquoi utiliser les classes QWeb *? Utilisez QFile simple et peut-être QXmlStreamReader?

+0

Je l'avais déjà fait en lisant les caractères un par un, c'était tellement moche que je voulais le nettoyer avec Qt. J'espérais que Qt avait peut-être des utilitaires de haut niveau pour l'analyse HTML. Le QXmlStreamReader semble être une bonne idée, mais pour les styles, je pense que je devrai utiliser des expressions régulières si je veux être élégant. Cela me donne envie de rester avec ma mise en place ... (visage effrayé) –