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

Delphi Discussion :

[XMLDocument] Copie complete d'une Node dans un autre fichier XML


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut [XMLDocument] Copie complete d'une Node dans un autre fichier XML
    Bonjour,

    J'essais de recupérer la totalité d'une node et ses enfants et la coller dans un autre fichier XML. Est ce qu'il existe une fonction "copie/paste" plutot que d'embriquer les boucles pour récupérer le node et le réecrire dans l'autre fichier

    Copier la node et son contenu :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <VisGeoCollection version="1000" name="A COPIER" visible="1">  
      <sec>0</sec> 
      <min>0</min> 
      <hour>0</hour> 
      <day>0</day> 
    </VisGeoCollection>

    Coller le contenu dans cette node :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <VisGeoCollection version="1000" name="Coller ICI" visible="1">  
    </VisGeoCollection>


    J'utilise un XMLDoc mais pour l'instant je n'ai pas trouvé.
    Delphi 7 Professionnel
    WinNT & 2000 Pro

  2. #2
    Membre averti

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Points : 441
    Points
    441
    Par défaut
    Il me semble que l'interface MSXML dispose d'une fonction AdoptNode, qui permettrait de faire ce que tu veux. Je ne sais pas si elle est disponible avec le XMLDocument.
    Je n'ai pas delphi sous les yeux, il faut vérifier dans l'aide de Delphi, mais c'est une piste à suivre.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    Merci mais malheureusement le XMLDocoment n'implemente pas cette fonction.

    Une autre idée ?
    Delphi 7 Professionnel
    WinNT & 2000 Pro

  4. #4
    Membre régulier
    Profil pro
    Enseignant
    Inscrit en
    Juillet 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 128
    Points : 119
    Points
    119
    Par défaut
    AS-tu essayer FindNode de IXmlNodeList ?

    Sinon regarde cet article http://www.object-everywhere.com/OBJ...SNodeValue.xml

    Tu as aussi http://big.developpez.com/delphi/xml/msxml/#LIV

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    J'essais tous ca, je fais un bilan après les test pour voir si ca convient.

    Merci dans tous les cas.
    Delphi 7 Professionnel
    WinNT & 2000 Pro

  6. #6
    Membre averti

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Points : 441
    Points
    441
    Par défaut
    A mon avis, tu aurais plus de chances d'utiliser les interfaces (via MSXML, ou omniXML). C'est plus simple à utiliser que le TXMLDocument.

    Mais je dois avouer que je n'aime pas le TXMLDocument. Il n'a jamais répondu à mes attentes, et pourtant j'utilsie du XML dans toutes mes applis...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    ...Le XMLDocument avait l'avantage de parraitre simple (composant a poser sur la form / chargement de fichier simple) mais il semble incomplet. J'avous que je coince. Il va falloire que je passe du temps pour prendre connaissance des autres facon de parser un XML.

    La loose !
    Delphi 7 Professionnel
    WinNT & 2000 Pro

  8. #8
    Membre averti

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Points : 441
    Points
    441
    Par défaut
    Comme l'a dit flash_math, un tuto existe sur le parser msxml. Et puis n'hésites pas à poser des questions sur le forum.

    Si j'ai du temps (hem) et que ça intéresse assez de monde, je serais assez tenté de faire un tuto sur omniXML.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    Merci pour les encouragements je suis en train de regarder ca. Si certains on une idée ou un bout de code ressemblant je suis prenneur !

    Merci à tous.
    Delphi 7 Professionnel
    WinNT & 2000 Pro

  10. #10
    Membre averti

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Points : 441
    Points
    441
    Par défaut
    Un bout de code ressemblant à quoi ?
    Tu veux copier un noeud dans une list existente, ou seulement copier une valeur d'un noeud à un autre ?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    Mon neud de destination est déjà existant mais vide. Je dois prendre tous "les enfants" (dans l'exemple ci dessous: sec, min, hour, day) du noeud source et les mettre dans un noeud existant dans le fichier destination.

    Code XML :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <VisGeoCollection version="1000" name="A COPIER" visible="1"> 
    <sec>0</sec> 
    <min>0</min> 
    <hour>0</hour> 
    <day>0</day> 
    </VisGeoCollection>

    Coller le contenu dans cette node :

    Code XML :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <VisGeoCollection version="1000" name="Coller ICI" visible="1"> 
    //coller les valeur ici//
    </VisGeoCollection>

    Si ce n'est pas clair je peux ré-expliquer
    Delphi 7 Professionnel
    WinNT & 2000 Pro

  12. #12
    Membre averti

    Profil pro
    Enseignant
    Inscrit en
    Juillet 2003
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2003
    Messages : 296
    Points : 441
    Points
    441
    Par défaut
    et copier directement le noeud, ce n'est pas bon ?
    J'ai du mal à comprendre pourquoi tu souhaites copier le noeud, en fait
    A part ça, je peux te pondre une démo

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    En fait, ces deux XML sont générés par une application externe que je ne maitrise pas.
    Un operateur utilise cette application externe ce qui a pour effet de remplir deux noeuds de type <VisGeoCollection... dans le fichier XML source. Pour lui éviter de refaire de lourdes manipulations pour remplire les deux noeuds <VisGeoCollection... dans le fichier XML de destination je voulais lire le contenu du noeud source et le recopier dans le noeud de destination automatiquement.
    Delphi 7 Professionnel
    WinNT & 2000 Pro

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    Merci beaucoup à BIG pour la demo très clair commenté etc...

    Une fois adapté à mes besoins je reviendrais mettre la solution pour les futures lecteurs.

    MERCI A TOUS !
    Delphi 7 Professionnel
    WinNT & 2000 Pro

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

Discussions similaires

  1. [XL-2010] Copie des valeurs d'une colonne dans un autre fichier sous condition
    Par Fred_rt dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/03/2015, 11h50
  2. Copie d'une feuille dans un autre fichier
    Par Monte_Carlo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/03/2012, 13h20
  3. [VBA Excel] Copie d'une feuille dans un autre fichier
    Par nattyman dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2006, 10h35
  4. [VBA] Recherche d'une valeur dans un autre fichiers puis
    Par Nicos77 dans le forum Général VBA
    Réponses: 11
    Dernier message: 24/03/2006, 11h24
  5. Shell - Récupérer une variable dans un autre fichier
    Par claralavraie dans le forum Linux
    Réponses: 9
    Dernier message: 11/01/2006, 16h25

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