Page 1 sur 1

Probleme Parsing FICHIER XML avec Attributs

Posté : 27 févr. 2009, 15:45
par eider_man
voici un exemple de XML avec attributs:

<DOSSIER>
<DOSSIER_ENTREES>
<A1 v="zzz" />
<B1 v=" il pleuvait fort sur la grand route" />
<C1 v="FFFDGFDFDG" />
<D1 v="16/10/2008" />
</DOSSIER_ENTREES>
<SITUATION>
<A1 v="s4-1" />
<B1 v="ceci est un descriptif de test" />
<C1 v="2000" />
</SITUATION>
</DOSSIER>

comment faire pour recuper A1,B1,C1 je ne m'en sors pas
merci d'avance
@+
JP

Posté : 27 févr. 2009, 22:24
par Victor BRITO
Avec SimpleXML, on peut s'en sortir. ;)
$fichier = 'chemin-vers-ton-fichier.xml';
// On charge le fichier
$xml = simplexml_load_file ($fichier);

// Récupérer la valeur de l'attribut du premier A1
/* Il suffit de parcourir l'arboresence du XML,
la variable $xml pointant l'élément racine */
$a1 = $xml -> DOSSIER_ENTREES[0] -> A1['v'];
/* L'index [0] est utile pour le cas où il y aurait plusieurs éléments DOSSIER_ENTREES
enfants de l'élément racine */

// Afficher la valeur récupérée en forçant le typage
echo (string) $a1; // Affiche zzz
Si le XML est contenu dans une chaîne, il faut alors remplacer simplexml_load_file par simplexml_load_string.

Posté : 02 mars 2009, 10:11
par eider_man
Salut

Merci de votre reponse si rapide

@+

JP

Posté : 05 mars 2009, 13:19
par fali
Bonjour,

j'ai un pb un peu similaire.
Comment récupérer TIME_PERIOD et OBS_VALUE ?
Sachant que j'utilise simplexml_load_file.
Merci.

dans le XML suivant :

Code : Tout sélectionner

<DataSet xmlns="http://www.ecb.int/vocabulary/stats/exr/1" xsi:schemaLocation="http://www.ecb.int/vocabulary/stats/exr/1 https://stats.ecb.int/stats/vocabulary/exr/1/2006-09-04/sdmx-compact.xsd"> <Group CURRENCY="USD" CURRENCY_DENOM="EUR" EXR_TYPE="SP00" EXR_SUFFIX="A" DECIMALS="4" UNIT="USD" UNIT_MULT="0" TITLE_COMPL="ECB reference exchange rate, US dollar/Euro, 2:15 pm (C.E.T.)" /> <Series FREQ="D" CURRENCY="USD" CURRENCY_DENOM="EUR" EXR_TYPE="SP00" EXR_SUFFIX="A" TIME_FORMAT="P1D" COLLECTION="A"> <Obs TIME_PERIOD="1999-01-04" OBS_VALUE="1.1789" OBS_STATUS="A" OBS_CONF="F" /> <Obs TIME_PERIOD="1999-01-05" OBS_VALUE="1.1790" OBS_STATUS="A" OBS_CONF="F" /> <Obs TIME_PERIOD="1999-01-06" OBS_VALUE="1.1743" OBS_STATUS="A" OBS_CONF="F" /> <Obs TIME_PERIOD="1999-01-07" OBS_VALUE="1.1632" OBS_STATUS="A" OBS_CONF="F" /> .... <Obs TIME_PERIOD="2009-03-02" OBS_VALUE="1.2596" OBS_STATUS="A" OBS_CONF="F" /> <Obs TIME_PERIOD="2009-03-03" OBS_VALUE="1.2615" OBS_STATUS="A" OBS_CONF="F" /> </Series></DataSet>