Parser un flux XML en PHP pour récupérer une valeur
4 messages
• Page 1 sur 1
-

milkiway - WRInaute accro

- Messages: 4910
- Inscription: 3 Fév 2004
Parser un flux XML en PHP pour récupérer une valeur
Bonjour,
J'ai un flux XML que je veux parser en PHP. J'utilise simplexml_load_file.
J'arrive sans souci à récupérer la valeur de "progname" (Panzani ici), store->name mais je ne vois pas du tout comment récupérer la donnée Farfale par exemple.
J'ai testé par store->products->product->storeData->data['modele'] mais ça ne marche pas. Pourquoi ? Comment faire ?
Un grand merci
J'ai un flux XML que je veux parser en PHP. J'utilise simplexml_load_file.
- Code: Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<catalogue id="1">
<progname>Panzani</progname>
<store>
<name>Panzani Pasta</name>
<products>
<product>
<storeData>
<data type="modele">Farfale</data>
<data type="prix_catalogue">3.35</data>
</storeData>
</product>
</products>
</store>
</catalogue>
J'arrive sans souci à récupérer la valeur de "progname" (Panzani ici), store->name mais je ne vois pas du tout comment récupérer la donnée Farfale par exemple.
J'ai testé par store->products->product->storeData->data['modele'] mais ça ne marche pas. Pourquoi ? Comment faire ?
Un grand merci
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: Parser un flux XML en PHP pour récupérer une valeur
- Code: Tout sélectionner
<?php
$string = <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<catalogue id="1">
<progname>Panzani</progname>
<store>
<name>Panzani Pasta</name>
<products>
<product>
<storeData>
<data type="modele">Farfale</data>
<data type="prix_catalogue">3.35</data>
</storeData>
</product>
</products>
</store>
</catalogue>
EOT;
$xml = simplexml_load_string($string);
$data = (string) $xml->store->products->product->storeData->data[0];
echo $data;
?>
http://codepad.org/ohKMRETR
-

milkiway - WRInaute accro

- Messages: 4910
- Inscription: 3 Fév 2004
Re: Parser un flux XML en PHP pour récupérer une valeur
Merci beaucoup, en fait par ce biais là j'y arrivais bien mais ce n'est pas très sur dans le sens où je en suis pas certain que 0 soit bien pour modèle (il suffit qu'il change de place).
J'ai donc fait autrement :
foreach($flux->store->products->product as $product){
foreach ($product->storeData->data as $node) {
$data[(string) $node['type']] = (string) $node;
}
Fourni sur un autre forum.
J'ai donc fait autrement :
foreach($flux->store->products->product as $product){
foreach ($product->storeData->data as $node) {
$data[(string) $node['type']] = (string) $node;
}
Fourni sur un autre forum.
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: Parser un flux XML en PHP pour récupérer une valeur
Avec SimpleXML et Xpath
- Code: Tout sélectionner
<?php
$string = <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<catalogue id="1">
<progname>Panzani</progname>
<store>
<name>Panzani Pasta</name>
<products>
<product>
<storeData>
<data type="modele">Farfale</data>
<data type="prix_catalogue">3.35</data>
</storeData>
</product>
</products>
</store>
</catalogue>
EOT;
$xml = simplexml_load_string($string);
$modele = $xml->xpath('/catalogue/store/products/product/storeData/data[@type = "modele"]');
$prix_catalogue = $xml->xpath('/catalogue/store/products/product/storeData/data[@type = "prix_catalogue"]');
$modele = (string) $modele[0];
$prix_catalogue = (string) $prix_catalogue[0];
echo $modele.'<br />';
echo $prix_catalogue;
?>
4 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Parser et mettre en page php un gros flux xml
- problem pour parser un flux xml avec magpierss
- parser et sauver un flux XML dans une bdd > je sèche
- Parser xml php
- Parser XMl avec PHP 5
- parser un flux dotclear en php
- récuperer valeur php liste multiple
- PHP: récupérer la valeur d'une ancre
- PHP: récupérer valeur de deux $_POST avec foreach
- PHP: Récupérer valeur array 2 dim d'un formulaire HTML
- Intégrer facilement un flux RSS externe
- Un (RSS) pour tous (les blogs officiels de Google)
- Google Enterprise a son blog
- Utiliser Actifpub pour l'intégration d'un flux RSS externe sur son site
- Annuaire WRI : intégration des flux XML des inscrits
- Le blog de Google Analytics
- Le blog officiel de Google Research
- Le blog officiel de Google au Japon
Consultez la description détaillée des produits ou services de Google suivants : API Google Checkout
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités
