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 :

Manipulation fichiers XML


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 67
    Par défaut Manipulation fichiers XML
    Bonjour,
    je demande votre aide pour manipuler et traiter un fichier XML pour en faire plusieurs
    mon fichier est fait comme suit :

    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
     
    <balise1 id = "1">
    	<b1>Toto</b1>
    	<b2>Alain</b2>
    	<b3>17/03/1965</b3>
    	<b4>
    		<date>01/01/2014</date>
    		<date2>01/01/2015</date2>
    	</b4>
    </balise1>	
    <balise1 id = "2">
    	<b1>Trucmuch</b1>
    	<b2>Pierre</b2>
    	<b3>21/12/1912</b3>
    	<b4>
    		<date>01/11/2013</date>
    		<date2>01/11/2014</date2>
    	</b4>
    </balise1>
    Mon but est de pouvoir faire un fichier par sous ensemble <balise1>

    j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            Dim LO_XML_IN As New XmlDataDocument
            Dim LO_NoeudBs As XmlNodeList
            Dim LO_NoeudB1 As XmlNode
            LO_XML_IN.RemoveAll()
            LO_XML_IN.Load(FichierXML)
            LO_NoeudBs = LO_XML_IN.DocumentElement.GetElementsByTagName("balise1")
            For Each LO_NoeudB1 In LO_NoeudBs
    a partir de là, je ne trouve pas les instructions pour récuperer le sous ensemble de balises de <balise1> à </balise1>

    merci de votre aide

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    je suppose qu'il te suffit, dans ta boucle, d'instancier un nouveau XmlDocument, de lui ajouter le XmlNode que tu viens de trouver, puis de le sauvegarder. Pour plus d'info : la fiche MSDN de XmlDocument

    PS : Je connais pas ton contexte de dev mais XmlDataDocument semble être obsolète.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 67
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Salut,

    je suppose qu'il te suffit, dans ta boucle, d'instancier un nouveau XmlDocument, de lui ajouter le XmlNode que tu viens de trouver, puis de le sauvegarder. Pour plus d'info : la fiche MSDN de XmlDocument

    PS : Je connais pas ton contexte de dev mais XmlDataDocument semble être obsolète.
    Merci pour la réponse mais j'avoue ne pas y arriver
    Je développe sur SSIS Script Vb .net

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Au lieu d'utiliser XmlDocument, tu peux utiliser XDocument :
    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim xdoc = XDocument.Parse(xml)
     
    Dim balises = xdoc.Root.Elements("balise1")

    Sachant que la variable xml est censée contenir ton XML sous forme de string, mais tu peux aussi utiliser la méthode Load pour charger directement un fichier XML.
    Dans la variable balises on a récupéré toutes les balises qui s'appellent balise1.

    Ensuite pour récupérer les enfants :
    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    For Each balise As XElement In balises
    	Dim b1 = balise.Element("b1")
    	Dim b2 = balise.Element("b2")
    	Dim b3 = balise.Element("b3")
    	Dim b4 = balise.Element("b4")
     
    	If b4.Descendants().Count() > 1 Then
    		Dim [date] = b4.Element("date")
    		Dim date2 = b4.Element("date2")
    	End If
    Next
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. [XML] Architecture projet PHP manipulant fichiers XML
    Par HaTnuX dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 11/08/2013, 10h56
  2. Manipuler fichier XML en DOM sous Netbeans
    Par keddari dans le forum NetBeans
    Réponses: 1
    Dernier message: 29/07/2012, 12h36
  3. manipuler fichier XML
    Par lovedesitaliens dans le forum C#
    Réponses: 8
    Dernier message: 30/09/2010, 11h51
  4. manipulation fichier xml avec java
    Par feridferid dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 03/10/2009, 09h50
  5. Réponses: 4
    Dernier message: 05/12/2007, 16h11

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