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] copie d'un noeud


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 19
    Par défaut [DOM] copie d'un noeud
    Bonjour tout le monde

    Bon j'explique le prob.

    J'ai un fichier xml:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="utf-8"?>
    <tchat>
    	<message date="1152726900" author="Will">Ceci est un essai !</message>
    	<message date="1152727800" author="Benoit">Je vois ça</message>
    	<message date="1152800000" author="Will">encore un test</message>
    <message author="Will" date="1172513758">testons</message><message author="Will" date="1172513793">testohuihns</message></tchat>

    Dans mon script php, je crée un document dom à partir de ce fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tchat_xml = new DOMDocument();
    $tchat_xml->load('tchat.xml');
    Et je crée manuellement un autre document dom.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $response_ajax = new DOMDocument("1.0", "utf-8");
     
    $xml_code = '<?xml version="1.0" encoding="utf-8"?><tchat></tchat>';
    $response_ajax->loadXML($xml_code);
    Dedans j'aimerais copier certains noeuds messages et leurs fils du premier document dom.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for($i = $_GET["previous"]+1 ; $i < $tchat_xml->getElementsByTagName("message")->length ; $i++)
    {
    	$newmessage = $tchat_xml->getElementsByTagName("message")->item($i)->cloneNode(1);
    	$response_ajax->getElementsByTagName("tchat")->item(0)->appendChild($newmessage); //ligne 34
    }
     
    echo $response_ajax->saveXML();
    Voici le message que j'ai:
    Fatal error: Uncaught exception 'DOMException' with message 'Wrong Document Error' in C:\wamp\www\tchat.php:34 Stack trace: #0 C:\wamp\www\tchat.php(34): DOMNode->appendChild(Object(DOMElement)) #1 {main} thrown in C:\wamp\www\tchat.php on line 34
    Je ne comprend vraiment pas où est le prob, car je veux simplement ajouter un noeud enfant à un autre noeud.
    Je l'ai déjà fait mais le noeud enfant était créé à partir de la méthode DOMDocument->createElement() et là j'avais aucun prob.

    Je sais pas si je m'éxprime clairement, donc hésitez pas à demander des eclairsissement.

  2. #2
    Membre chevronné Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Par défaut
    DOMNode::cloneNode() ne fonctionne que dans le cadre d'un seul et même document.
    Ce dont tu as besoins, c'est DOMDocument::importNode()

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 19
    Par défaut
    Merci en effet ça fonctionne maintenant.

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

Discussions similaires

  1. [DOM] savoir si un noeud a des enfants avec hasChildNode
    Par starr dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 24/07/2007, 00h10
  2. [DOM] save et les noeuds fantôme
    Par tatatoui dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 21/06/2007, 00h55
  3. [DOM] Création d'un noeud xml avec childNode
    Par starr dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 22/03/2007, 11h18
  4. [DOM] copie de noeuds entre deux documents distincts
    Par Oscar Hiboux dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/01/2007, 15h56
  5. [DOM] Suppression d'un noeud
    Par nightf dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 14/11/2006, 22h32

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