Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML
XML Forum d'entraide sur XML avec PHP. Exemples : SimpleXML, OpenXML... Avant de poster -> FAQ XML, Cours XML et Sources XML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/07/2007, 18h43   #1
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 142
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 142
Points : 33
Points : 33
Par défaut [EXPAT] Parcours d'un XML (avec sax) en PHP

Bonjour à tous,

je voudrais savoir comment lire un document xml avec sax. J'aimerais pouvoir récupérer l'attribut de value donc la valeur est " STEPHANE DERVILLE".

Voila un extrait du fichier xml:

<Hit url="_g=valeur1" score="0">
...
<HitField name="size" value="437" />
<HitField name="cn" value="STEPHANE DERVILLE - 008951" />
<HitField name="c" value="FR" />
...
</Hit>


Merci d'avance
GLSpirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 01h29   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Pour SAX, c'est la librairie XML/Expat qui est "compatible" PHP 4/5. Donc vous définissez une fonction de rappel pour le début de chaque élément, laquelle obtiendra en troisième paramètre un tableau des attributs et de leurs valeurs. Exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$xml = <<< EOX
<Hit url="_g=valeur1" score="0">
<HitField name="size" value="437" />
<HitField name="cn" value="STEPHANE DERVILLE - 008951" />
<HitField name="c" value="FR" />
</Hit>
EOX;
 
function startElement($parser, $tag, $attrs) {
    if (!strcasecmp($tag, 'HitField')) {
        echo $attrs['VALUE'] . '<br/>';
    }
}
 
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, 'startElement', NULL);
xml_parse($xml_parser, $xml);
xml_parser_free($xml_parser);
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h20.


 
 
 
 
Partenaires

Hébergement Web