Bonjour à tous
voici mon code source
voici le fichier config.xml
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 #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; }
le programme n'affiche rien (car la première node resetNetwork ne possède pas l'attribut pinP
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
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>) Comment je fais pour récupérer l'attribut pinP des autres node resetNetwork ?
lorsque je modifie le fichier config.xml voici le fichier
Dans ce cas le programme marche bien:
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 BM40 BM41 BE52 BK51![]()
Partager