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

Modules Perl Discussion :

copie d'un fichier vers un autre d'un extrait XML


Sujet :

Modules Perl

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut copie d'un fichier vers un autre d'un extrait XML
    Bonjour,
    Petite énigme...
    J'ai deux parsers sur deux fichiers différents source et cible.
    J'utilise le package XML::DOM.
    Cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cible -> appendChild($source);
    provoque l'exception suivente: "Nodes belong to different documents".
    Je crois que XML::DOM::DocumentFragement peut peut être résoudre mon problème mais je ne voit pas trop coment l'utiliser.
    Si vous avez des infos, MERCI
    Romain

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Pas vraiment une énigme : tu n'as pas le droit de transférer directement un Node d'un document à un autre d'après la norme DOM.
    Néanmoins la doc de XML::DOM::Node contient une fonction prometteuse :
    setOwnerDocument (doc)

    Sets the ownerDocument property of this node and all its children (and attributes etc.) to the specified document. This allows the user to cut and paste document subtrees between different XML::DOM::Documents. The node should be removed from the original document first, before calling setOwnerDocument.

    This method does nothing when called on a Document node.
    (si tu veux faire un copier-coller et pas un couper-coller regarde du côté de la méthode cloneNode() ).

    --
    Jedaï

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci,
    ça marche, pour récapituler pour de futur lecteurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $source->setOwnerDocument(<parseur du fichier cible>);
    $cible->appendChild($source);
    éventuellement restauration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $source->setOwnerDocument(<parseur du fichier source>);
    ENCORE MERCI

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

Discussions similaires

  1. [AC-2010] Copie d'un fichier vers un autre repertoire
    Par meritites dans le forum VBA Access
    Réponses: 3
    Dernier message: 16/10/2014, 13h12
  2. Erreur lors de la copie d'un fichier vers un autre répertoire
    Par aurelienC dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 21/05/2012, 16h34
  3. [XL-2007] Donnée copiée d'un fichier vers un autre
    Par daniel_gre dans le forum Excel
    Réponses: 2
    Dernier message: 08/10/2009, 18h47
  4. Copie de cellules d'un fichier vers un autre
    Par Masmeta dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/02/2008, 15h04
  5. copie d'un fichier vers un autre serveur
    Par jexl dans le forum ASP
    Réponses: 4
    Dernier message: 20/12/2004, 16h04

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