Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1425 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [parser XML]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[parser XML]

n°777497
labbepierr​e
Posté le 25-06-2004 à 10:23:45  profilanswer
 

Bonjour,
Voilà, je parse un fichier xml de manière très classique en php avec ça :

Code :
  1. function ouverture ($parser, $name, $attrs){
  2. blabla
  3. }
  4. function fermeture ($parser, $name){
  5. blabla
  6. }
  7. function texte ($parser, $data_text){
  8. echo $data_text;
  9. }
  10. xml_set_element_handler($xml_parser, "ouverture", "fermeture" );
  11. xml_set_character_data_handler($xml_parser, "texte" );


 
Ca me génère du html.
 
Voilà mon prob : je souhaite que quand le parser rencontre cette borne :
<type>montype</type>
alors rien ne s'affiche, entre autre que la fonction "texte" ne renvoie rien selon une condition : si 'montype' contient une chaine donnée.
En fait je souhaite filtrer le xml selon une condition sur le contenu d'un champ.
 
Merci de votre aide.
Pierre.

mood
Publicité
Posté le 25-06-2004 à 10:23:45  profilanswer
 

n°777512
nagadoudi
T nagadoudi, rentre ta finette
Posté le 25-06-2004 à 10:30:17  profilanswer
 

Peux-tu reformuler ta question ?
 
 
Si tu cherches à savoir si telle chaine est incluse dans telle autre, voici l'exemple donné dans la doc PHP (http://fr.php.net/strpos) :

$mystring = 'abc';
$findme  = 'a';
$pos = strpos($mystring, $findme);
 
// Notez l'utilisation de ===.  Un simple == ne donnerait pas le résultat escompté
// car la lettre 'a' est à la position 0 (la première).
if ($pos === false) {
   echo "La chaîne '$findme' n'a pas été trouvée dans la chaîne '$mystring'";
} else {
   echo "La chaîne '$findme' a été trouvée dans la chaîne '$mystring'";
   echo " et à la position $pos";
}


 
Sinon tu peux utiliser les expressions régulières avec un pattern du genre "<type>.*</type>"

n°777537
labbepierr​e
Posté le 25-06-2004 à 10:38:36  profilanswer
 

En fait je cherche à ce que le parser ne traite pas le noeud "type" si le contenu du texte entre <type> et </type> contient foo.
Je voudrais éviter de réécrire le parser avec des strpos à n'en plus finir. C'est quand meme l'avantage du parser.

n°777544
labbepierr​e
Posté le 25-06-2004 à 10:41:01  profilanswer
 

Savez-vous si dans la fonction "ouverture j'ai accès au contenu texte de la balise "type" en connaissant les variables $parser, $name, $attrs (ou $name vaut 'type')

n°777550
T509
$job-&gt;GetJob(now)
Posté le 25-06-2004 à 10:44:01  profilanswer
 

pour XML, si tu bosses avec PHP5, il y a un article ici :
PHPTeam


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°777577
labbepierr​e
Posté le 25-06-2004 à 10:58:58  profilanswer
 

Merci pour le lien. Cette extention à l'air prometteuse en effet ! Mais je n'ai qu'expat sur php 4.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [parser XML]

 

Sujets relatifs
[Perl] Parser XMLEcrire mon propre parser xml a base des STL en c++
parser un document xmlParser de l'XML
[XML] parser avec SAX....PHP+Classes+utilisation du parser XML : probleme avec les handlers
[Java-XML] Arret de lecture d'un fichier XML avec un parser SAXJava/XML : Le Parser de Sun ?
PHP : XML parser : plante sur les accents ![XML] Qu'est-ce qu'un "XML Parser" et où en trouver un simple d'util?
Plus de sujets relatifs à : [parser XML]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR