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

ASP.NET Discussion :

probleme avec mon xPath


Sujet :

ASP.NET

  1. #1
    Membre très actif
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Par défaut probleme avec mon xPath
    Hello,

    j'ai un souci au niveau de mon xpath dans ma fonction vb.net

    je veux trouver un noeud dans mon xml selon un index.

    les valeurs passée a ma fonction son correctes, mais il ne me donne que la valeur du premier élément field malgré l'index que je lui fourni.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <recordset>
    <record>
    	<field>bli</field>
    	<field>blo</field>
    	<field>blu</field>
    	<field></field>
    	<field></field>
    	<field></field>
    	<field></field>
    </record>
    </recordset>
    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
     
        Public Function recordSetItems(ByVal ls_recordsetName As String, ByVal li_recordIndex As Integer, ByVal li_valeur As Integer) As String
     
            ' fonction pour rechercher une information dans un recordset par son attribut
            Dim sXMLReader As New StringReader(xmlRecordset(ls_recordsetName))
            Dim doc As XmlDocument = New XmlDocument()
            doc.Load(sXMLReader)
     
            Dim XpathRequest As String = "/recordset/record['" & li_recordIndex & "']/field['" & li_valeur & "']"
            Dim oNode As XmlNode = doc.SelectSingleNode(XpathRequest)
     
            'Teste si l'attribut à été trouvé
            Try
                recordSetItems = oNode.InnerXml
            Catch ex As Exception
                recordSetItems = ex.Message
            End Try
        End Function
    merci pour votre aide

  2. #2
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Oui c'est tout a fait normal puisque ta requête Xpath demande de retourne bel et bien un noeud enfant du noeud <record>.
    Si tu veut tout les nœuds enfant du nœud record tu n'a qu'a utiliser un XmlNodeList et modifier ta requête Xpath en conséquence.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  3. #3
    Membre très actif
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Par défaut
    c'est bien mon but.

    je ne veux pas un node liste, je veux récupérer la valeur d'un noeud field[x] en fonction de l'index que je lui fourni.

    ex je veux la valeur du 3eme champs field = field[3]

    merci

  4. #4
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    tu t'est mal exliquer dans ton premier post. A priori ton expression Xpath semble correct. vire un peut les ' de ton expression Xpath voir.
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  5. #5
    Membre très actif
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Par défaut
    c'est deja fait,

    si je laisse les ' il me prend le permier élément, si je les vire, il ne me retourne aucune valeurs.

    merci

  6. #6
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    La je sèche puisque ton expression Xpath semble correct.
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  7. #7
    Membre très actif
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Par défaut
    on est 2, j'ai essayer de tourner cela dans tous les sens, voir a utilisé d'autre spécificité xPath, mais rien.

  8. #8
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Tu peu toujours modifier la structure de ton fichier Xml en ajoutant par exemple un attribue Id auto-increment dans <field> et tu l'utilise comme index pour faire la recherche.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  9. #9
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Personnellement, je n'utilise pas le xml, mais voilà une idée:

    tu pourrais essayer de récupérer toutes les nodes dans un tableau et choisir ensuite l'index de la node qui te convient dans ce tableau (mais niveau optimisation, c'est pas extraordinaire)

  10. #10
    Membre très actif
    Inscrit en
    Septembre 2002
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 270
    Par défaut
    J'ai trouver une solution, j'ai forcé un attribut dans mes champs record et fields et j'effectue ma recherche par ce système.


    mais je crois qu'il y a des problème lorsque l'on récupère des variable d'une DLL vb6 avec du vb.net

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

Discussions similaires

  1. probleme avec mon OS
    Par quaresma dans le forum Windows XP
    Réponses: 2
    Dernier message: 11/01/2006, 06h50
  2. Probleme avec mon algorithme de tri
    Par kaygee dans le forum Langage
    Réponses: 6
    Dernier message: 09/01/2006, 21h23
  3. Probleme avec mon professeur
    Par Hamza dans le forum Algorithmes et structures de données
    Réponses: 20
    Dernier message: 16/07/2005, 10h50
  4. [Thread] Probleme avec mon Timer
    Par Nico66 dans le forum EDT/SwingWorker
    Réponses: 10
    Dernier message: 02/06/2005, 17h10

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