IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[XML] [EXPAT] Parser un document pour ajout MySQL


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 213
    Points : 81
    Points
    81
    Par défaut [XML] [EXPAT] Parser un document pour ajout MySQL
    Salut,

    Je dois parser un tout petit fichier XML unique.
    dont voici la structure:

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <data>
    <login>login</login>
    <password>password</password>
    <mo>
    <content>Texte</content>
    <number>Numéro</number>
    </mo>
    </data>

    Je voudrais récupérer le contenu en variables $content $number ? (pas besoin de login et password)

    J'ai bossé du côté de XML Parse en PHP.. Mais c'est franchement compliqué leur truc..

    Mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    	function startElementHandler(&$parser, &$name, &$attribs) {
    		global $gXPath, $gMsg, $gName, $gOk;
     
    		if($gOk) {
    			if($gXPath == "/") {
    				$gOk = ($name == "data");
    			}
    			else if($gXPath == "/data/") {
    				if( $gOk = (sizeof($attribs) == 1 && $name == "mo") ) {
    					$gMsg = array();
    				}
    			}
    			else {
    				$gMsg[$name] = "";
    				$gName = $name;
    			}
    		}
    		$gXPath .= "$name/";
    	}
     
    	function endElementHandler(&$parser, &$name) {
    		global $gXPath, $gMsg, $gName, $gCount, $gOk, $resultat, $db_sms;
     
    		if($gOk) {
    			if($gXPath == "/data/mo/") {
     
     
    				$number=$gMsg["number"];
    				$keyword=$gMsg["keyword"];
     
    				$query = "INSERT.......... $number etc etc";
     
    				if (@mysql_query($query, $db_sms)){
    					$resultat=True; // correct !
    				}
    				else {
    					$resultat=False; // echec insert mysql
    				}
     
    			}
    			$gCount++;
    		}
    		$gName = "";
    		$gXPath = substr($gXPath, 0, -strlen($name) - 1);
    	}
     
    	function cdataHandler(&$parser, &$data) {
    		global $gMsg, $gName, $gOk;
     
    		if($gOk) {
    			if(!empty($gName)) {
    				$gMsg[$gName] .= $data;
    			}
    			else if(trim($data) !== "") {
    				$gOk = FALSE;
    			}
    		}
    	}
     
    	/////////////////////////////// END DE L'INITIALISATION DES FONCTIONS XML ////////////////////////////////
     
    	$gOk = TRUE;
    	$gXPath = "/";
     
    	$parser = xml_parser_create();
    	xml_set_element_handler($parser, "startElementHandler", "endElementHandler");
    	xml_set_character_data_handler($parser, "cdataHandler");

    Je pense que j'ai faux partout mais bon...

  2. #2
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    Hello !

    Tu peux utiliser SimpleXML,

    tu devrais tant sortir facilement
    http://sahid.funraill.org/category/langages/xml/

    sahid

Discussions similaires

  1. [XML] [EXPAT] Parser un fichier xml avec php
    Par Dargos dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 05/04/2006, 12h25
  2. [XML] [EXPAT] parser sous forme de classe
    Par gorgonite dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/03/2006, 20h49
  3. [XML] [EXPAT] Parser fichier XML
    Par Ben42 dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 17/02/2006, 14h08
  4. [XML] [EXPAT] Parser XML avec PHP
    Par glsn dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 20/12/2005, 12h29
  5. [DOM] parser une String pour en faire un document XML
    Par Fladnag dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 29/03/2004, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo