[TinyXML2] Récuperer les attributs d'un noeud particulier
Bonjour à tous
voici mon code source
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include "tinyxml.h"
#include <iostream>
#include <string>
TiXmlDocument doc("config.xml");
TiXmlHandle document(&doc);
if(!doc.LoadFile()){
cerr << "erreur lors du chargement" << endl;
cerr << "error #" << doc.ErrorId() << " : " << doc.ErrorDesc() << endl;
return 1;
}
using namespace std;
int i=0;
while ( true )
{
TiXmlElement* resetNetwork = document.FirstChild( "hardware" ).FirstChild( "resetModels" ).FirstChild( "resetModel" ).Child( "resetNetwork", i ).ToElement();
if ( !resetNetwork)
break;
cout<<resetNetwork->Attribute("pinP");
++i;
} |
voici le fichier config.xml
Code:
1 2 3 4 5 6 7 8 9 10 11
| <?xml version="1.0"?>
<hardware xmlns:xi="http://www.w3.org/2001/XInclude">
<resetModels>
<resetModel name="resetModel1">
<resetNetwork name="RST1" type="ActiveLow" lvds="true" />
<resetNetwork name="RST2" type="ActiveLow" lvds="true" pinP="BM41" pinN="BM42" />
<resetNetwork name="RST3" type="ActiveLow" lvds="true" pinP="BE52" pinN="BF52" />
<resetNetwork name="RST4" type="ActiveLow" lvds="true" pinP="BK51" pinN="BK52" />
</resetModel>
</resetModels>
</hardware> |
le programme n'affiche rien (car la première node resetNetwork ne possède pas l'attribut pinP :( ) Comment je fais pour récupérer l'attribut pinP des autres node resetNetwork ?
lorsque je modifie le fichier config.xml voici le fichier
Code:
1 2 3 4 5 6 7 8 9 10 11
| <?xml version="1.0"?>
<hardware xmlns:xi="http://www.w3.org/2001/XInclude">
<resetModels>
<resetModel name="resetModel1">
<resetNetwork name="RST1" type="ActiveLow" lvds="true" pinP="BM40" />
<resetNetwork name="RST2" type="ActiveLow" lvds="true" pinP="BM41" pinN="BM42" />
<resetNetwork name="RST3" type="ActiveLow" lvds="true" pinP="BE52" pinN="BF52" />
<resetNetwork name="RST4" type="ActiveLow" lvds="true" pinP="BK51" pinN="BK52" />
</resetModel>
</resetModels>
</hardware> |
Dans ce cas le programme marche bien:
Merci d'avance :love: