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 :

[DOM XML] XML -> tableau PHP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 82
    Points : 41
    Points
    41
    Par défaut [DOM XML] XML -> tableau PHP
    Salut à tous !

    Voilà j'aimerai connaître le moyen de transférer mes données d'un fichier XML vers un tableau PHP. J'ai déjà utilisé XSLT mais j'aimerai utiliser une autre méthode (peut-être les parser mais je sais pas tro comment ça marche !)

    une idée ou des tutos à suggérer ?

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 63
    Points : 74
    Points
    74
    Par défaut
    tu peut utiliser dom en php

  3. #3
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    Merci !

    j'aimerai utiliser la fonction mais je ne sais pas trop comment faire :
    j'ai déclaré un objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $domdoc = new DOMDocument
    et pour la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $domdoc->domxml_xmltree("fichier.xml");
    Malheureusement, ça ne marche pas ! c quoi l'erreur ?

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 63
    Points : 74
    Points
    74
    Par défaut
    j'ai déclaré un objet
    Code:
    $domdoc = new DOMDocument
    tu doit pas creer un nouveau objet dom puisque ta deja le fichier xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $objet = xmldocfile(fichier.xml);
    et $objet est l'objet dom que tu va traiter.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    Finalement, j'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $fd=fopen ("fichier.xml","r");
    $domdoc=fread ($fd, filesize("fichier.xml"));
    fclose($fd);
    $docTree=xml($domdoc);
    maintenant, quand j'affiche $docTree, j'ai un arbre "bizarre" du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [4] => domelement Objet
    {
        [type] => 1
        [tagname] => item
        [0] => 34
        [1] => 111643192
        [attributes] => Array
        {
            [0] => domattribute Objet
            ....
    et ainsi de suite. Je ne sais pas quoi faire avec cet arbre de façon à ce que les pères et les fils de mon arbre soient dans des tableaux PHP ...

  6. #6
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    Voilà mon problème :
    j'ai un fichier XML qui décrit une hiérarchie géographique. En voilà un morceau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <item level="0">
    <fullPath value="/europe"/>
    <label value="Europe"/>
    <father value=""/>
    </item><item level="1">
    <fullPath value="/europe/austria"/>
    <label value="Österreich"/>
    <father value="europe"/>
    </item>
    Ce fichier XML est maintenant contenu dans $docTree.
    Quand j'affiche avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r($docTree->get_attribute_by_tagname("label"))
    j'obtiens :
    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
    Array 
    ( 
    	[0] => domelement Object 
    	(
    		 [type] => 1 
    		[tagname] => label 
    		[0] => 28 
    		[1] => 112506872 
    		[attributes] => Array
    		 ( 
    			[0] => domattribute Object 
    			( 
    				[type] => 2 
    				[name] => value 
    				[value] => Europe 
    				[0] => 29 
    				[1] => 112523336 )
    et ainsi de suite. Il parcourt donc tout mon arbre XML. J'aimerai récupérer la valeur de [value] ("Europe") et le mettre dans un tableau php.

    Si quelqu'un avait une idée, ça serait génial !

  7. #7
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    Bon et bien j'ai fini par trouver la reponse (tout seul !)...
    Pour ceux que ça intéresse :
    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
    $fd = fopen("toponymHierarchy.xml","r"); 
    $myXML = fread($fd,filesize("toponymHierarchy.xml")); 
    fclose($fd); 
    $docTree = xmltree($myXML);
    $liste = $docTree->get_Elements_By_tagName("label");
    foreach ($liste as $element)
    {
    	$attrs = $element->attributes();
    	echo "<br>";
    	echo 'Attributs de : '.$element->node_name();
    	echo "<br>";
    	foreach ($attrs as $attribute)
    	{
    		echo '-'.$attribute->name.' : '.$attribute->value."\n";
    	}
    }
    et ça m'affiche :
    Attributs de : label
    -value : Europe
    Attributs de : label
    -value : Österreich


    voilà

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] XML : un code php à mettre en javascript
    Par Tertiath dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/09/2007, 14h46
  2. [DOM] Tri de tableau par Javascript [Javascript, XSLT, XML]
    Par edevouge dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/05/2007, 16h13
  3. [DOM] parseur xml php
    Par agent63 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/10/2006, 16h40
  4. [DOM] Validation xml avec PHP
    Par thefaycal dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 26/01/2006, 21h15
  5. [DOM] Parsage XML en PHP 4
    Par Huntress dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 07/12/2005, 22h24

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