Bonjour,
depuis quelques temps je recherche la facon d'extraire une valeure dans un fichier xml
mon fichier est du type:
<probes>
<probe>
<name>Temp</name>
<value>25.0</value>
<type>Temp</type>
</probe>
<probe>
<name>pH</name>
<value>7.75</value>
<type>pH</type>
</probe>
<probe>
<name>Conso</name>
<value>1.1</value>
<type>Amps</type>
</probe>
</probes>
<outlets>
<outlet>
<name>Led_Blanc</name>
<outputID>0</outputID>
<state>AOF</state>
<deviceID>base_Var1</deviceID>
</outlet>
<outlet>
<name>Led_Mixte</name>
<outputID>1</outputID>
<state>Mixte_Lever</state>
<deviceID>base_Var2</deviceID>
</outlet>
<outlet>
<name>Led_Bleu_Uv</name>
<outputID>2</outputID>
<state>Bleu_Lever</state>
<deviceID>base_Var3</deviceID>
</outlet>
<outlet>
<name>Ventirad</name>
<outputID>3</outputID>
<state>TBL</state>
<deviceID>base_Var4</deviceID>
</outlet>
et je voudrais extraire l'etat state du ventirad
Ventirad
3
TBL
j'ai testé ce code qui fonctionne bien pour les premières lignes mais je n'arrive pas a l'adapter pour mon fichier
if(client.available()) { // Si des données sont disponible sur l'objet EthernetClient
c = client.read(); // Lecture d'un octet
if(c == '\n') { // Si fin de ligne atteinte
// (Pensez à mettre une ligne vide à la fin de flux.xml)
if(str.startsWith("<action>")) { // Si la ligne commence par <action>
Serial.println(str);
str.replace("<action>", ""); //
str.replace("</action>", ""); // Enlève les balises XML
if(str == "on") // Si le flux contient "1" on allume la LED
{
digitalWrite(ledPin, HIGH); // Allume la LED
delay(1000); // Attend une seconde
}
else if(str == "off") // Si le flux contient "2" on éteint la LED
{
digitalWrite(ledPin, LOW); // Éteint la LED
delay(1000); // Attend une seconde
}
// Si le flux contient autre chose il y a un un problème, on fait rien ...
break; // Sort de la boucle infini
}
str = ""; // Vidage de la ligne
}
else
str += c; // Concaténation de l'octet reçu dans la chaîne de char
}
if(!client.connected()) // Si la connexion a été perdu
break; // Sorti de la boucle infini
}
client.stop(); // Fermeture de la connexion avec le serveur
}
merci pour votre aide
@++
fred