Parseur HTML qui ne parcourt pas tous les enfants ?
Bonjour,
j'essaye de parser un fichier HTML, le problème c'est que je n'arrive pas à voir tous les enfants.
Voici la source :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| QFile file(fileName);
// Ouverture du fichier en lecture seule et en mode texte
file.open(QFile::ReadOnly | QFile::Text);
QDomDocument web;
// Ajoute le contenu du fichier XML dans un QDomDocument et dit au QDomDocument de ne pas tenir compte des namespaces
web.setContent(&file, false);
// Ici, racine pointe sur l'élément <root> de notre document
QDomElement element = web.documentElement();
qDebug()<<"Nombre d'enfant "<<element.childNodes().length();
QDomNode node=element.firstChild();
qDebug()<< node.toElement().tagName();
qDebug()<< "Nombre sous enfant "<<node.childNodes().length();
for(unsigned int i=0;i<node.childNodes().length();i++)
qDebug()<<node.childNodes().item(i).toElement().tagName(); |
et voici le fichier HTML sur lequel je fais mes tests
Citation:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><link rel="stylesheet" href="../5/v15.css" type="text/css" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="robots" content="index, follow" />
<script src="http://.....jquery.js" type="text/javascript"></script>
<script src="http://.....jqtools5.js" type="text/javascript"></script>
<meta http-equiv=refresh content="240">
<meta name="description" content=".......................................................">
<meta name="keywords" content="...........................................................">
<title>
C...............................
</title></head>
<body style="margin:0px; border:0px; background: #ccc url(
http://www.......................png) repeat-y 50% 0;">
<form name="aspnetForm" method="post" action="display.aspx?s=DGp" id="aspnetForm">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="" />
</div>
Lorsque je lance le programme, voici ce qu'il me sort :
Citation:
Nombre d'enfant 1
"head"
Nombre sous enfant 5
"link"
"meta"
"meta"
"script"
"script"
:cry:
Merci pour vos réponses.