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] Extraire une liste d'élément


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 120
    Par défaut [DOM] Extraire une liste d'élément
    Bonjour

    J'ai unDOMDocument avec de nombreux element
    Je voudrais extraire certain element dans un nouveau DOMDocument
    getElementsByTagName() me retourne une nodeList
    N'y a t'il pas un moyen direct pour effectuer cela

    Merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Une expression XPath ? Elle retournerait elle aussi un objet DOMNodeList mais celui-ci n'aurait pas besoin d'être trié.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 120
    Par défaut
    Le problème est de rconvertir le nodelist en domDocument
    J'ai essayé une boucle foreach mais sans résultat

    Joël

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Ne pouvez-vous pas ajouter les différents noeuds obtenus à un objet DomDocument (addChild et compagnie) ? Vous avez peut être un code à montrer ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 120
    Par défaut
    Mon probleme est la, je n'ai pas de fonction qui s'appliquentà un domList
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <report>
      <parameters>
        <param1>1</param1>
        <param2>2</param2>
        <param3>3</param3>
      </parameters>
      <data>
      AAA
      </data>
    </report>
    Je souhaite extraire que les parametres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
      $document = new DOMDocument();
      $document->load('xmlfilename');
      $nodeList = $document->getElementsByTagName('parameters');    
      $dom = new DOMDocument;
      $dom->importNode($nodelist);  
      $xml = $dom->saveXML();
      echo $xml;
    ?>
    Mais le document $dom est désepérement vide

    Merci

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Il faudrait ajouter le noeud importé au document ensuite, par exemple :
    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
    <?php
    $original = DOMDocument::load('flybick.xml');
    $parametres = $original->getElementsByTagName('parameters');    
    // On crée une nouveau document
    $resultat = new DOMDocument;
    // On crée la racine
    $racine = $resultat->createElement('report');
    $resultat->appendChild($racine);
    foreach ($parametres as $p) {
        $racine->appendChild($resultat->importNode($p, TRUE));
    }
    // Pour test, visualisation du résultat
    header('Content-type: text/plain');
    $resultat->formatOutput = TRUE;
    echo $resultat->saveXML();

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

Discussions similaires

  1. Faire une liste d'élément qui ne sont pas dans la base
    Par bossLINDROS dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 06/06/2007, 12h09
  2. Réponses: 3
    Dernier message: 26/08/2006, 14h03
  3. Réponses: 12
    Dernier message: 10/08/2006, 17h22
  4. [VB]Ja'imerais afficher une liste d'éléments...
    Par STRUFIELD dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/01/2006, 18h49
  5. [struts] afficher page par page une liste d'élément
    Par BurningPat dans le forum Struts 1
    Réponses: 6
    Dernier message: 27/09/2005, 11h09

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