Bonjour à tous
voici mon code source
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;
		}
voici le fichier config.xml
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>
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 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>
Dans ce cas le programme marche bien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
BM40
BM41
BE52
BK51
Merci d'avance