Récupérer donnée XML - Arduino [Résolu]

Signaler
Messages postés
5
Date d'inscription
mardi 14 mai 2019
Statut
Membre
Dernière intervention
29 janvier 2020
-
MaisClement
Messages postés
5
Date d'inscription
mardi 14 mai 2019
Statut
Membre
Dernière intervention
29 janvier 2020
-
Bonjour,

Je me suis lancé sur un projet Arduino devant affiché les prochain départ de trains a une gare. Malgré mon faible niveau en programmation j'arrive a faire une requête, la recevoir et a gérer l'affichage. Mais je n'arrive pas a extraire les données du XML que je reçoit.

Voici ce que je reçoit :
<?xml version="1.0" encoding="UTF-8"?>
<passages gare="87545269">

<train><date mode="R">28/11/2019 08:06</date>
<num>142670</num>
<miss>VITY</miss>
<term>87393157</term>
</train>

<train><date mode="R">28/11/2019 08:10</date>
<num>141661</num>
<miss>CIME</miss>
<term>87393009</term>
</train>

<train><date mode="R">28/11/2019 08:19</date>
<num>142672</num>
<miss>VITY</miss>
<term>87393157</term>
</train>

<train><date mode="R">28/11/2019 08:23</date>
<num>141663</num>
<miss>CIME</miss>
<term>87393009</term>
</train>


Et je souhaite extraire le terminus : <term>87393009</term> et l'heure.

Merci d'avance

3 réponses

Messages postés
5399
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
21 février 2020
859
Salut MaisClement,

Pour parser un fichier xml en C, si tu n'as pas à ta disposition une bibliothèque xml, ou une bibliothèque de gestion des regexp, tu peux faire avec les moyens du bord en utilisant la fonction C standard
strstr()
accessible par l'entête standard
string.h
sur une chaîne C, pour chercher le pointeur vers la première occurrence d'une sous-chaîne.

A partir de là, tu peux isoler les parties de la chaîne qui t'intéressent et extraire ce qu'il te faut.

En ce qui concerne ta demande particulière, sur l'exemple de données que tu postes, je ne comprends pas ce que tu veux extraire (ta sortie) et au moyen de quelle information de départ (ton input).

Dal
Messages postés
5
Date d'inscription
mardi 14 mai 2019
Statut
Membre
Dernière intervention
29 janvier 2020

Salut Dal,

Je vais essayer d’être plus clair,
Je reçoit via une api un XML (mon input) contant des information pour 4 trains, ce que j'ai joint précédemment.
Quant a ce que je veut extraire c'est le code gare qui est contenu entre les bornes "term" exemple : 87393157, ainsi que l'heure pour chaque train.

MaisClément
Messages postés
5
Date d'inscription
mardi 14 mai 2019
Statut
Membre
Dernière intervention
29 janvier 2020

Avec votre aide, j'ai tout de mème réussi à trouvé quelque chose pour m'aiguiller, ca semble en bonne voie. Merci beaucoup

MaisClément