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

Windows Forms Discussion :

calcul dans xml


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 30
    Par défaut calcul dans xml
    Dans un fichier XML existant, je souhaite savoir comment faire pour faire le calcul du nombre d'élément séparer par des ;

    exemple : dans <Barreau> puis <lulu> résultat =3( a mettre dans textbox1.text)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="utf-8"?>
    <SaveXml>
      <Type>Test</Type>
      <Date>jeudi 26 octobre 2017</Date>
      <Barreau>
        <lulu>cvxw;vwx;dxcwcv</lulu>
        <lolo>vxwd&lt;;bf</lolo>
        <lili>bf</lili>
    merci pour votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Par défaut
    bonjour,

    Ce que tu veux ce ne serait pas plutôt compter le nombre de chaine de caractères comprise entre un caractère connu, soit un Split.
    Split te retourne un tableau de string, il te suffit alors de faire un count sur le tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var maChaine = "cvxw;vwx;dxcwcv";
    int nbChaine = maChaine.Split(';').Count();
    //nbCahine == 3
    J@ck.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 30
    Par défaut
    merci pour la réponse

    non je souhaite juste connaitre le nombre d'élément entre <lulu> </lulu>

    élément séparer par des ";" soit dans l'exemple 3

  4. #4
    Membre émérite Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Par défaut
    Salut

    C'est exactement ce qu'a dit J@ck. Tu déserialise ton xml, du coup lulu devient une chaîne de caractère et ensuite tu utilise le code qu'il t'a donné.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 30
    Par défaut
    Bonjour a tous et merci pour vos renonces

    Pour commencer je suis en visual Basic sous visual studio 2017


    Petite question
    Pourquoi mettre a var=machaine ???
    "cvxw;vwx;dxcwcv"

    si je dois renseigner ( var maChaine = "cvxw;vwx;dxcwcv"; ) cela ne serais pas utile de faire un code pour trouver le nombre d'élément.

    j'ai tenter de faire ceci mais cela ne fonctionne pas

    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
    Dim fichier As String = TableauPrincipal.LabFichier.Text 
            Dim xmlDoc As System.Xml.XmlDocument = New System.Xml.XmlDocument()
            xmlDoc.Load(fichier)
     
            Dim node As System.Xml.XmlNode = xmlDoc.SelectSingleNode("SaveXml")
            Dim element As Xml.XmlNodeList
            Dim noeud, noeudenf As Xml.XmlNode
            element = xmlDoc.DocumentElement.ChildNodes
     
            For Each noeud In element
                If noeud.LocalName = "Barreau" Then
                    For Each noeudenf In noeud
                        If noeudenf.LocalName = "lulu" Then
                            Dim Page As String = ""
                            Label4.Text = Page.Split(";").Count()
     
                        End If
                    Next
                End If
     
            Next
    merci pour votre aide

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Par défaut
    En faite tu as 2 problèmes.

    Le premier c'est d'extraire une chaine d'un fichier XML.
    Le deuxième c'est de spliter une chaine et de compter le nombre d'éléments splités (oui j'adore le franglais )

    Mon premier post était pour le 2ème problème.
    Pour le premier ça fait longtemps que j'ai pas touché à du XML, c'est pas bien compliqué normalement, demande à google et au pire reviens nous voir, mais je dirais qu'il doit y avoir plus simple que ce que tu fais. Au pire on verra plus tard.

    Si je regarde ce que fait le code que tu donnes, il parcoure les nœuds XML jusqu'a trouvé celui qui t'intéresse, puis une fois que tu l'as trouvé, tu instancie une nouvelle chaine =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim Page As String = ""
    puis tu comptes les splits sur cette nouvelle chaine vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label4.Text = Page.Split(";").Count()
    Mais toi ce que tu veux c'est compter les splits sur la chaine du noeud XML ... pas d'une chaine vide, il faut donc que tu remplaces le "" par le contenu du noeud XML, et ça tombe bien tu viens justement de le trouver..

    J@ck.

Discussions similaires

  1. Calcul dans un triggers : problème du +
    Par eXiaNazaire dans le forum Oracle
    Réponses: 3
    Dernier message: 07/01/2005, 10h14
  2. Recuperer un champ calculé dans une variable....
    Par vijeo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/12/2004, 14h57
  3. Calcul dans des champs de saisie
    Par leeloo076 dans le forum ASP
    Réponses: 4
    Dernier message: 07/04/2004, 10h09
  4. calcul dans une requête
    Par blaz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 22/12/2003, 10h31
  5. PHP dans XML ou XSL
    Par mathieu dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 31/08/2003, 21h07

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