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

C# Discussion :

dupliquer un fichier xml avec XmlDocument


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 74
    Par défaut dupliquer un fichier xml avec XmlDocument
    Bonjour,
    j'aimerais savoir si il est possible de dupliquer un fichier Xml via XmlDocument...

    i.e.
    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
    18
    19
    20
    21
    22
    23
     
     
    public bool copyDocument(XmlDocument oldDocument, string newPath)
    {
     bool aReussi = false;
     
     XmlDocument newDocument = new XmlDocument()
     
     // ICI on copy le document
     // Comment faire??? 
     //
     
     
     // aussi ici des manips sur les donnees dans newDocument
     //
     
     newDocument.Save(newPath);
     aReussi = true;
     
     
    return aReussi;
     
    }
    Merci

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Ca marche pas ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public bool copyDocument(XmlDocument oldDocument, string newPath)
    {
     bool aReussi = false;
     oldDocument.Save(newPath);
     aReussi = true;
    return aReussi;
     
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 74
    Par défaut
    Le probleme est que je ne sais pas comment transferer les données d'un document à l'autre...

  4. #4
    Membre éprouvé
    Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 99
    Par défaut
    Je ne suis pas sur de bien comprendre ce que tu veux faire.

    1- Faire une copie physique de ton fichier

    La solution donnée par PitMaverick78 permet de faire cela, tu n'as pas besoin de créer un nouvel objet pour ça. Tu appelles simplement la methode Save("C:\....")

    2- Faire une copie de ton XmlDocument

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    XmlDocument oldDocument = new XmlDocument();
    XmlDocument newDocument = oldDocument;

  5. #5
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Citation Envoyé par Lordinaire Voir le message
    Je ne suis pas sur de bien comprendre ce que tu veux faire.

    1- Faire une copie physique de ton fichier

    La solution donnée par PitMaverick78 permet de faire cela, tu n'as pas besoin de créer un nouvel objet pour ça. Tu appelles simplement la methode Save("C:\....")

    2- Faire une copie de ton XmlDocument

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    XmlDocument oldDocument = new XmlDocument();
    XmlDocument newDocument = oldDocument;
    Ceci ne donnera pas le résultat escompté, comme ce sont des classes, elles sont gérées par référence, ce qui signifie que newDocument et oldDocument "pointent" vers le même objet et par conséquent toute modification de l'un sera visible sur l'autre (un simple test permet de s'en rendre compte)

    Je n'utilise pas vraiment la classe XmlDocument, mais en consultant ses membres sur MSDN j'ai repéré les méthodes Clone et CloneNode, qui renvoient des XmlNode à voir si cela peut être utile

    Cordialement !

  6. #6
    Membre expérimenté
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 159
    Par défaut
    Attention Lordinaire, dans ton dernier exemple, 2eme ligne, il faut appeller la methode clone ou cloneNode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XmlDocument newDocument = (XmlDocument) oldDocument.CloneNode(true);

  7. #7
    Membre éprouvé
    Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 99
    Par défaut
    Exact! Si on ne clone pas l'objet on se retrouvera avec le même objet référencé.

Discussions similaires

  1. Creation fichier xml avec xmlDocument
    Par c+cool dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 19/05/2006, 21h34
  2. Valider un fichier XML avec un Schema
    Par Groove dans le forum Valider
    Réponses: 4
    Dernier message: 09/11/2005, 08h15
  3. extraire un fichier d'un fichier XML avec XSL ?
    Par pirbd dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 14/09/2005, 10h31
  4. Modification de fichier XML avec XSLT
    Par osmoz dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 13/07/2005, 11h04
  5. [DOM] [Débutant(e)] Modifier un fichier XML avec DOM
    Par macks dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/07/2005, 14h13

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