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

XML/XSL et SOAP Discussion :

recherche avec XPATH


Sujet :

XML/XSL et SOAP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Points : 346
    Points
    346
    Par défaut recherche avec XPATH
    Hello tout le monde,

    j'ai la structure xml suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <root>
    <Pers num="1" seq="1">...</Pers>
    <Pers num="2" seq="2">...</Pers>
    <Pers num="1" seq="1">...</Pers>
    ...
    </root>
    J'aimerais savoir comment je dois faire en XML pour vérifier s'il y a plusieurs éléments "Pers" qui ont les mêmes "num" et "seq". Soit avec xpath au autre. Est-ce que quelqu'un peut m'aider?

    Par exemple en SQL on peut faire des auto-jointures comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select a.num, a.seq
    from table a, table b
    where a.num = b.num
    and a.seq = b.seq
    group by a.num, b.seq
    having count(*) > 1
    Est-ce que l'on peut faire l'équivalent en XPATH?

    D'avance merci pour votre aide!

    Cédric

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    On ne peut pas le faire en XPath 1.0 tout seul.

    Il est sans doute possible de le faire en XQuery, et en XPath 2.0, mais je ne les connais pas bien et ne peux pas t'aider.

    On peut aussi combiner XPath 1.0 avec un langage de traitement, comme Java ou XSLT, pour cela.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 23
    Points : 38
    Points
    38
    Par défaut
    //Pers[@num=@seq]
    semble fonctionner, mais ce n'est peut-être pas dans la spec 1.0

    Tiens c'est marrant en relisant ton msg je me rends compte que c'était pas du tout ça. dsl. Au moins ça donne une piste.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par volblanc Voir le message
    Au moins ça donne une piste.
    Je vois pas en quoi... Le problème est pas du tout le même -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    En XPath 2 c'est possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    count(distinct-values(//Pers/concat(@num, '_', @seq))) != count(//Pers)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Points : 346
    Points
    346
    Par défaut
    Hello tout le monde,

    merci pour votre aide, mais j'ai trouvé une piste en c#, en utilisant les objets XmlDocument où je charge ma structure XML, pui XPathDocument, XPathExpression qui permet de faire des tris sur la structure et XPathiterator pour parcourir ma structure trié.

    Cédric

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

Discussions similaires

  1. [CS5] Connecter un formulaire de recherche avec Xpath
    Par chronosr dans le forum Flash
    Réponses: 0
    Dernier message: 11/09/2010, 14h00
  2. (debutant) Un petit problème du recherche avec xpath
    Par Zikas-r dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 19/12/2007, 02h28
  3. [XPATH] [XML] [JAVASCRIPT] Pb de recherche avec apostrophe
    Par lenoil dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 21/02/2006, 14h28
  4. Enlever la surbrillance lors d'une recherche avec vi
    Par sekiryou dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 04/03/2004, 13h55

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