Xml vers tableau php
Résolu
JypX
Messages postés
67
Date d'inscription
Statut
Membre
Dernière intervention
-
JypX Messages postés 67 Date d'inscription Statut Membre Dernière intervention -
JypX Messages postés 67 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Peut on simplifier ce code car si j'ai bien tout compris : il parcourt une première fois pour les puls puis reparcourt pour la vitesse.
Peut on récupérer les puls et la vitesse en 1 fois?
Peut on simplifier ce code car si j'ai bien tout compris : il parcourt une première fois pour les puls puis reparcourt pour la vitesse.
Peut on récupérer les puls et la vitesse en 1 fois?
<?php $dom = new DomDocument; $dom->load("Log_090717_090008.slf"); // Puls $listePuls = $dom->getElementsByTagName('Puls'); foreach($listePuls as $puls) $arraypuls[] = $puls->firstChild->nodeValue; // Vitesse $listeVitesse = $dom->getElementsByTagName('Speed'); foreach($listeVitesse as $vitesse) $arrayvitesses[] = $vitesse->firstChild->nodeValue; ?>
A voir également:
- Xml vers tableau php
- Tableau word - Guide
- Tableau ascii - Guide
- Xml download - Télécharger - Édition & Programmation
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
6 réponses
Donc si j'ai 10 champs à récupérer il me fait 10 getElementsByTagName. On peut pas faire autrement car ça doit utilisé pas mal de ressource serveur?
<?xml version="1.0" encoding="utf-8"?> <Log> <Information> <Name><![CDATA[Sortie groupe jambon]]></Name> <Notiz/> <RadGroesse>2133</RadGroesse> <Einheit>kmh</Einheit> <Fahrrad>2</Fahrrad> <HFMax>205</HFMax> <StartZone1>113</StartZone1> <StartZone2>144</StartZone2> <StartZone3>169</StartZone3> <EndeZone3>205</EndeZone3> <Kalorien>01918</Kalorien> <StartZeit>08:33:51</StartZeit> <SamplingRate>5</SamplingRate> <StoppZeit>10:39:08</StoppZeit> <StartDatum>05.07.09</StartDatum> <StoppDatum>05.07.09</StoppDatum> </Information> <LogEintraege> <Eintrag pause="0" wp="0"> <Pause zeit=""/> <Rest zeit=""/> <WPTitel/> <WPNotiz/> <RPLAbs>0</RPLAbs> <Speed>38.59</Speed> <Puls>117</Puls> <Hoehe>40</Hoehe> <Temp>22</Temp> <Steigung>0</Steigung> </Eintrag> <Eintrag pause="0" wp="0"> <Pause zeit=""/> <Rest zeit=""/> <WPTitel/> <WPNotiz/> <RPLAbs>23</RPLAbs> <Speed>39.56</Speed> <Puls>118</Puls> <Hoehe>40</Hoehe> <Temp>22</Temp> <Steigung>0</Steigung> </Eintrag> <Eintrag pause="0" wp="0"> <Pause zeit=""/> <Rest zeit=""/> <WPTitel/> <WPNotiz/> <RPLAbs>24</RPLAbs> <Speed>41.11</Speed> <Puls>123</Puls> <Hoehe>40</Hoehe> <Temp>22</Temp> <Steigung>0</Steigung> </Eintrag> <Eintrag pause="0" wp="0"> <Pause zeit=""/> <Rest zeit=""/> <WPTitel/> <WPNotiz/> <RPLAbs>24</RPLAbs> <Speed>41.88</Speed> <Puls>132</Puls> <Hoehe>40</Hoehe> <Temp>22</Temp> <Steigung>0</Steigung> </Eintrag> <Eintrag pause="0" wp="0"> <Pause zeit=""/> <Rest zeit=""/> <WPTitel/> <WPNotiz/> <RPLAbs>24</RPLAbs> <Speed>40.53</Speed> <Puls>137</Puls> <Hoehe>40</Hoehe> <Temp>22</Temp> <Steigung>0</Steigung> </Eintrag> .... ... ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php $dom = new DOMDocument(); $dom->load('fichier.xml'); $LogEintraege = $dom->getElementsByTagName('LogEintraege')->item(0); $Eintrags = $LogEintraege->childNodes; foreach($Eintrags as $Eintrag) { if($Eintrag->nodeName == 'Eintrag') { $infos = $Eintrag->childNodes; foreach($infos as $info) { if($info != '#text') { if(isset(${$info->nodeName})) ${$info->nodeName}[] .= $info->nodeValue; else ${$info->nodeName}[] = $info->nodeValue; } } } } ?>Avec ça, tu as une variable (array) portant le nom de chaque nœuf enfant (balise à l'intérieur) des nœuds "Eintrag".
Par exemple : $Temp , $Steigung , $Puls , ...