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] [PHP] Noeuds freres qui se suivent selon certains attributs.


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Avril 2013
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 11
    Par défaut [XPATH] [PHP] Noeuds freres qui se suivent selon certains attributs.
    bonjour,
    je programme en php, débutant avec xml/xpath, et je ne trouve pas de réponses à ma question sur les forums.
    Mon problème est le suivant :
    sur le document xml ci-dessous, j'aimerais récupérer tous les textes des "item" dont les cat A B C ou B C, se suivent.
    C'est à dire, dans l'exemple, récupérer et regrouper (data 1, data 2, data 3) ET (data 5, data 6).
    Si quelqu'un a une idée.
    merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<list>
    		<item cat="A">data 1</item>
    		<item cat="B">data 2</item>
    		<item cat="C">data 3</item>
    		<item cat="0">data 4</item>
    		<item cat="B">data 5</item>
    		<item cat="C">data 6</item>
    	</list>

  2. #2
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    tu veux récupérer tous les textes dont l'attribut 'cat' de la balise item est différent de 0 ?

    comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:for-each select="//item[@cat!=0]">

  3. #3
    Membre habitué
    Inscrit en
    Avril 2013
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 11
    Par défaut
    Bonjour et merci de t’intéresser au sujet.

    Je voudrais - en php/xpath - récupérer les nœuds qui ont leurs attributs CAT qui se suivent dans cet ordre :
    A suivi de B suivi de C,
    ou B suivi de C seulement...

  4. #4
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    en xpath il faut voir avec la fonction following-sibling (et preceding-sibling)

    mais pour moi ce n'est pas clair ce que tu veux faire : tes attributs sont définis ?, le nombre est fixe ?

  5. #5
    Membre habitué
    Inscrit en
    Avril 2013
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 11
    Par défaut
    Oui, les attributs sont définis et le nombre n'est pas fixe. Je cherche des séquences.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <item cat= A >1</item>
    <item cat= A >2</item>
    <item cat= B >3</item>
    <item cat= C >4</item>
    <item cat= D >5</item>
    <item cat= B >6</item>
    <item cat= C >7</item>
    <item cat= D >8</item>
    je cherche les items dont les "cat se suivent : A, suivi de B, suivi de C
    ou B suivi de C seulement..
    Soit, dans cet exemple : (2,3,4) et (6,7)
    Pas simple, j'ai beau regarder à droite à gauche, je ne trouve rien de probant..

  6. #6
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    tu peux donc le faire avec les 2 fonctions citées, mais à priori il faut définir chaque cas (mais peut etre qqun aura une idée plus optimale ? xpath n'a pas la notion de numérotation alpha ou num ) : "A dont le suivant est B" "B dont le suivant est C", etc...
    Après c'est peut etre plus simple de faire ca en PHP directement

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/02/2010, 18h25
  2. [XPATH] noeud frere
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 07/03/2006, 16h31
  3. [AWK] récupération de lignes qui se suivent
    Par PtiNico dans le forum Linux
    Réponses: 2
    Dernier message: 12/04/2005, 19h44
  4. [XPATH] Nombres de noeuds freres ?
    Par DemonKN dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 28/02/2005, 12h29
  5. [PHP-JS] Remplir un tableau javascript selon un tableau php
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2005, 14h02

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