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

XSL/XSLT/XPATH XML Discussion :

[XPath] [C#] Caractère '$' dans une requête


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [XPath] [C#] Caractère '$' dans une requête
    Bonjour,

    J'ai une requête XPath à effectuer sur un noeud qui contient le caractère dollar $ en début de son nom.

    Noeud : Message/AMTxn/TxnData/SymbolTable/$Account

    Normalement, le caractère $ ne devrait pas être utilisé pour nommer un noeud, mais ceci ne dépend pas de moi. Si j'essaye de faire une requête pour obtenir la valeur de Account en C#, j'obtiens une exception

    System.Xml.XPath.XPathException: The expression passed to this met
    hod should result in a NodeSet.
    at System.Xml.XPath.XPathParser.ParseNodeTest(AstNode qyInput, AxisType axisType, XPathNodeType nodeType)



    J'ai essayé de remplacer le caractère $ par *, mais là encore j'obtiens une exception

    System.Xml.XPath.XPathException: 'AMTxn/TxnData/SymbolTable/*Accou
    nt' has an invalid token



    Quelqu'un peut il me dire comment je peux exprimer cette requête ?
    D'avance merci,
    C.

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    déjà, je ne comprends même pas comment le document peut être parsé, puisque $Account n'est pas un nom valide au regard de la spécification XML...

    Tu peux peut-être contourner le problème en essayant cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Message/AMTxn/TxnData/SymbolTable/*[name() = '$Account']

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse.

    Effectivement, le fait d'utiliser un $ dans un nom de noeud n'est pas la meilleure des idées, mais je dois malheureusement faire avec l'existant.

    En utilisant cette requête, je n'ai plus d'exception, mais la valeur retournée est vide. Je vais fouiller un petit peu et regarder ce qui se passe au debugger.

Discussions similaires

  1. [AC-2010] mettre une condition sur une chaine de caractères dans une requête sql
    Par freeman3869 dans le forum VBA Access
    Réponses: 1
    Dernier message: 05/06/2015, 11h45
  2. Réponses: 8
    Dernier message: 27/08/2012, 16h05
  3. Limitation caractères dans une requête
    Par lbar012001 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 21/02/2012, 15h01
  4. limitation de caractére dans une requête SQL sous Acces
    Par amka dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 18/08/2006, 15h15
  5. Requête pour remplacer caractères dans une table
    Par elliott1961 dans le forum Installation
    Réponses: 5
    Dernier message: 16/01/2006, 01h47

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