Lire un noued xml

Lire un noued xml - C++ - Programmation

Marsh Posté le 18-03-2005 à 09:13:32    

je voudrai lire juste un noued de mon fichier xml.
j'ai joint le fichier xml.
 
C'esl le noeud SR32i_10 que je voudrait lire
et voici une parti de mon code c++

Code :
  1. QDomElement config = configuration.documentElement();
  2. QDomNode configSysteme = config.firstChild();
  3. QDomNode sr32i = configSysteme.nextSibling();
  4. QDomNode Sr32i_ = sr32i.firstChild();
  5. string numeroSr32i = "SR32i_"+idSR32i;
  6. while (Sr32i_.nodeName() != numeroSr32i)
  7. {
  8. Sr32i_ = Sr32i_.nextSibling();
  9. }


mon fichier XMl

Code :
  1. <?xml version = '1.0' encoding = 'UTF-8'?>
  2. <configuration>
  3.    <configSysteme>
  4.       <langue>Français</langue>
  5.       <modeServeur>Actif</modeServeur>
  6.    </configSysteme>
  7.    <SR32i>
  8.     <SR32i_9>
  9.          <NomSr32i> 1 </NomSr32i>
  10.          <Sr32iAdresseIp>192.168.1.00</Sr32iAdresseIp>
  11.       </SR32i_9>
  12.       <SR32i_10>
  13.          <NomSr32i>Num 1</NomSr32i>
  14.          <Sr32iAdresseIp>192.168.17.78</Sr32iAdresseIp>
  15.       </SR32i_10>
  16.       <SR32i_1>
  17.          <NomSr32i>Num 2</NomSr32i>
  18.          <Sr32iAdresseIp>192.168.17.99</Sr32iAdresseIp>
  19.       </SR32i_1> 
  20.    
  21.    </SR32i>
  22.    <DC11>
  23.       <DC11_8>
  24.          <NomDc11>dc11 a</NomDc11>
  25.          <AdresseDc11>33</AdresseDc11>
  26.       </DC11_8>
  27.    </DC11>
  28. </configuration>


merci (je suis débutant)


Message édité par transistor49 le 18-03-2005 à 09:40:01
Reply

Marsh Posté le 18-03-2005 à 09:13:32   

Reply

Marsh Posté le 18-03-2005 à 09:34:57    

utilisa la balise [ cpp] ton code est illisible :|

Reply

Marsh Posté le 21-03-2005 à 13:52:22    

Ce que tu fais là ne peut pas marcher.
 
dans ton while, ta condition est :

Code :
  1. Sr32i_.nodeName() != numeroSr32i


 
ce qui signifie que les deux pointeurs sont identiques.
En c++, pour comparer deux chaines, il faut utiliser strcmp
 
Ce qui donne pour toi :
 

Code :
  1. while (strcmp(Sr32i_.nodeName(), numeroSr32i) != 0)


 
Voilà, apluche

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed