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 :

XML Lecture du fichier


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut XML Lecture du fichier
    Bonjour

    Je rencontre quelques soucies pour traiter mon fichier xml

    j'ai trouvé des sources me permettant de la parcourir grâce a la librairie System.Xml, toutefois je ne peut rien faire de très avancé, en effet j'aimerais parcourir des noeuds se trouvant dans un autre.

    Pour étre plus clair
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <alpha>
        <beta>
            <teta>lorem</teta>
            <teta>ipsum</teta>
        </beta>
        <beta>
            <teta>dolor</teta>
            <teta>sit</teta>
        </beta>
    </alpha>

    en fait a l'heure actuelle je peut afficher le contenu des noeuds teta, et ce consécutivement
    Dernière modification par tomlev ; 27/01/2011 à 17h11.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Isamov Voir le message
    en fait a l'heure actuelle je peut afficher le contenu des noeuds teta, et ce consécutivement
    J'ai rien compris... tu nous dis ce que tu peux faire actuellement, mais pas ce que tu veux faire... on n'a pas de boule de cristal, essaie d'être précis

  3. #3
    Invité
    Invité(e)
    Par défaut
    argh désolé, quand j'ai trop le nez dans le guidon je ne me rend compte

    j'aimerais pouvoir pour un noeud connaitre le nombre de noeud qu'il contient, ex : combien le noeud beta contient-il de noeuds (bon deux de toutes évicences mais comme le contenue de mon xml varie...)

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu peux faire quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Dim doc As New XmlDocument()
        doc.Load(fileName)
        Dim beta As XmlElement = CType(doc.SelectSingleNode("/alpha/beta"), XmlElement)
        Dim elementsCount As Integer = beta.GetElementsByTagName("*").Count
    Si tu travailles avec .NET 3.5 ou plus, tu peux utiliser Linq to XML, c'est nettement plus facile...

  5. #5
    Invité
    Invité(e)
    Par défaut
    en effet ton code fonctionne correctement, mais mon contexte est légèrement différent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="UTF-8"?>
    <office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0">
    	<table:table-row table:style-name="ro1">
    		<table:table-cell office:value-type="string"><text:p>alpha</text:p></table:table-cell>
    		<table:table-cell office:value-type="string"><text:p>béta</text:p></table:table-cell>
    		<table:table-cell office:value-type="string"><text:p>téta</text:p></table:table-cell>
    		<table:table-cell office:value-type="date" office:date-value="1412-04-01"><text:p>23/03/12</text:p></table:table-cell>
    	</table:table-row>
    </office:document-content>
    ci dessus un échantillon du code xml que je manipule, j'ai essayé d'adapter ton code en utilisant XPathNodeIterator mais pour l'instant sans succés

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    ah ouais, quand y a des namespaces c'est un peu plus galère...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Dim doc As New XmlDocument()
        doc.Load(fileName)
     
        Dim mgr As New XmlNamespaceManager(new NameTable())
        mgr.AddNamespace("office", "urn:oasis:names:tc:opendocument:xmlns:office:1.0")
        mgr.AddNamespace("table", "????") ' je sais pas trop d'où il sort celui là...
     
        Dim row As XmlElement = CType(doc.SelectSingleNode("/office:document-content/table:table-row", mgr), XmlElement)
        Dim cellCount As Integer = row.GetElementsByTagName("table:table-cell").Count

Discussions similaires

  1. [DOM4J] Problème de lecture de fichier xml avec dom4j
    Par santana2006 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 05/04/2006, 16h52
  2. VA lors de lecture du fichier XML
    Par LN(a) dans le forum Langage
    Réponses: 6
    Dernier message: 14/09/2005, 23h43
  3. [vb.net][xml] probleme de lecture de fichier
    Par graphicsxp dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/07/2005, 11h51
  4. Lecture de fichier au format XML ??
    Par nico0007 dans le forum Langage
    Réponses: 1
    Dernier message: 07/07/2005, 15h40
  5. [C#] [XML] Lecture d'un fichier XML => Combobox
    Par Chad`Chiwa dans le forum Windows Forms
    Réponses: 8
    Dernier message: 09/03/2005, 08h57

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