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

VB.NET Discussion :

Insertion fichier xml


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Par défaut Insertion fichier xml
    Bonsoir,

    j'ai un fichier XML de ce type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ...
    <listof>
    <project name="Projet1" type="Externe">
    <source name="Nom1" value="Valeur1" created="28/04/09">
    <source name="Nom2" value="Valeur2" created="28/05/09">
    <source name="Nom3" value="Valeur3" created="20/04/09">
    </project>
    </listof>
    Je souhaiterais réussir à faire 2 choses:
    - Insérer une nouvelle ligne du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <source name="Nom4" value="Valeur4" created="20/04/09">
    après la ligne name="Nom3".

    - Mettre à jour les valeurs d'une ligne existante. Exemple: remplacer la valeur "Valeur2" par "NouvelleValeur2".

    Auriez-vous des exemples de code permettant de manipuler, créer et mettre à jour ces attributs ? Quelle est la meilleure façon de procéder ?

    Merci pour votre aide.

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Pour toute modification d'un XML, regarde du côté de la classe XmlDocument

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Par défaut
    Bonsoir,

    En fait oui je me sers déjà de la classe XmlDocument pour supprimer une ligne par exemple ou lire le contenu du fichier XML.
    Mais je ne trouve pas d'exemple pour mettre à jour et insérer.
    Merci.

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Pour modifier une valeur d'un attribut il suffit d'accéder à cet attribut et de modifier sa valeur. Pour accéder à un élément tu peux utiliser des requêtes XPath ou bien directement via le XmlDocument si la structure est relativement simple.

    Pour insérer une ligne il suffit de créer un nouvel élément (voir les différentes méthodes Create... de la classe XmlDocument), d'avoir une référence par rapport à laquelle on va ajouter l'élément et de l'ajouter (cf. méthodes InsertBefore, InsertAfter, AppendChild, PrependChild de la classe XmlNode par exemple)

    Un petit coup de Google et tu trouveras tout ce qu'il te faut

  5. #5
    Membre averti Avatar de boisdin
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 56
    Par défaut
    pour ajouter une ligne du type source, il faut faire un truc dans ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Dim noeudParent As XmlNode = monDocument.GetElementsByTagName("project").Item(0)
            Dim noeudEnfant As XmlElement = Rapport.CreateElement("source")
            noeudParent .PrependChild(noeudEnfant )
    bien sur en gérant le numéro d'item
    Et avant de faire le prepend, initialiser les valeurs des attributs

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Par défaut
    Bonjour,

    merci pour vos réponses.

    la fonction suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim noeudParent As XmlNode = monDocument.GetElementsByTagName("project").Item(0)
    Dim noeudEnfant As XmlElement = Rapport.CreateElement("source")
    noeudParent .PrependChild(noeudEnfant )
    fonctionne très bien.

    Par contre, ça créé une balise du type suivant:

    je souhaiterais fermer volontairement la ligne de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <source Name="Nom1"></source>
    Quelle méthode puis-je utiliser pour faire cela ?

    Merci

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

Discussions similaires

  1. [MySQL] Insert fichier xml dans BDD avec des sous noeuds
    Par AntonyG43 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/01/2011, 15h50
  2. Insertion d'enregistrement dans un fichier XML
    Par davestar dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 02/04/2006, 17h22
  3. Réponses: 2
    Dernier message: 01/06/2004, 12h47
  4. Insertion dans un fichier xml à partir d'un xsl
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/03/2003, 09h45
  5. Insertion dans un fichier XML
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 4
    Dernier message: 27/02/2003, 17h16

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