salut,
j'ai arriver a faire une application QT4 et webkit qui fait le chargement d'une page web puis affiche leur code html ,et maintenat je suis entrain de construire l'arbre dom de page html ,j'ai arrivé a construire l'arbre pour la racine de la page (les noeuds de la racine ) voila mon code :
QDomElement racine = doc.documentElement(); //renvoie la balise racine
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
   QDomNode noeud = racine.firstChild();  
 
 while (!noeud.isNull()) {
 
         if (noeud.isElement()) {
                QDomElement e = noeud.toElement();
                qDebug() << "Element name : " << e.tagName();
 
 
                affichage = e.tagName(); 
 
 
                  QStringList attributes;
                  QDomNamedNodeMap emap = e.attributes();            
                for(i=0;i<emap.length();++i) {
                                                       qDebug() << " la balise " <<e.tagName()<< "has attributs ::" ;
                                                       QDomNode attribute = emap.item(i);
                                                       attributes << attribute.nodeName() + "=\""
                                                       +attribute.nodeValue() + "\"";                                                
                                                       qDebug() <<attributes ;
 
 
                                              }
 
                      listnode = e.childNodes();       //crée un tableau des enfants
 
               for(i=0;i<listnode.length();i++) {
 
         					   n = listnode.item(i);
            					   affichage = affichage + " " + n.firstChild().toText().data();
              					   QDomElement eaff = n.toElement(); 
            					   affichage = affichage + " " + eaff.tagName(); 
           					   qDebug() << "childs names de la balise  " <<e.tagName()<< "est : "<<eaff.tagName();
                                                   if (n.hasChildNodes ()) {
                                                           slistnode = eaff.childNodes(); 
                                                             int k= eaff.childNodes().count();  qDebug()<<" k=== "<< k;
                                                  for(int k=0;k<slistnode.length();k++) {
 
         					    sn = slistnode.item(k);
            					   affichage = affichage + " " + sn.firstChild().toText().data();
                                                     QDomElement eafff = sn.toElement(); 
 
 
                                                                              }}
      			                         }   if (!n.hasChildNodes ()) {qDebug()<<" 00000 ";} 
                                                   msg.setText(affichage);            //affichage dans un QMessageBox
      						   msg.exec();
 
                       }
        	 noeud = noeud.nextSibling();
 
 }
comment je peux modifier mon code pour avoir afficher les noeuds des noeuds de la balise racine ??
par exemple pour cette page html:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head>
<title> premier test </title></head>
<body><table border=9 height=100% width=100% bgcolor=skyblue>
<tr>
 <td>
   <a href=culture.html target=blank> <b><u><font color=red> culture :</font></u></b><br> journée mondial pour les enfants </a>	
 
 </td>
</tr>
</table>
</body>
</html>
il affiche que <title> est l'enfant de <head>
et <table> est l'enfant de <body>
comment je peux avoir aussi que <td> est l'enfant de <tr> et <a> l'enfant de <td>..ect ??? c'est a dire l'arbre dom de tous les balises ???,
merci pour tout aide ;;;