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] Récupérer l'ID max dans un fichier XML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 44
    Points : 36
    Points
    36
    Par défaut [XPath] Récupérer l'ID max dans un fichier XML
    salut a tous,

    je bloque depuis quelques heures sur ce probleme.
    j'ai un fichier XML :

    <?xml version="1.0" encoding="iso-8859-1"?>
    <categories>
    <cat id="1"><titre>Cat 1</titre></cat>
    <cat id="2"><titre>Cat 2</titre></cat>
    <cat id="3"><titre>Cat 3</titre></cat>
    <cat id="4"><titre>Cat 4</titre></cat>
    </categories>
    et j'aimerais récupérer l'ID la plus grande car mon but et de rajouter des éléments à ce fichier.

    Pour l'instant je peux supprimer des élements (donc length peut etre différent de l'ID max)
    je n'arrive pas à trouver de solution. Je fais le traitement en PHP avec DOMDocument et Xpath.

    Il faut savoir que j'aurais maximum une dizaine d'enregistrements dans ce fichier.

    avec ce code j'arrive a récupérer le noeud que l'item numéro X (2 dans l'exemple) mais impossible de récupérer le max :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $xpathdoc = new DOMXPath($xml);	
    $query = '//categories/cat[@id="2"]';
    $node = $xpathdoc->query($query);
     
    foreach ($node as $noeud) {									
    	echo $noeud->getAttribute('id');							
    }


    Si quelqu'un peut me donner une piste. D'avance merci.

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    on se sert des propriété ensembliste du Xpath


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //@id[not (//@id &gt; .)]
    Ce qui peut se traduire par :je veux tous les @id tel qu'il n'existe pas de @id superieur a ceux ci (attention ne supprime pas les doublons)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 44
    Points : 36
    Points
    36
    Par défaut
    c'est nickel, ca fonctionne. Un grand merci a toi.

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

Discussions similaires

  1. [Lazarus] Récupérer une image contenue dans un fichier XML
    Par Tux74 dans le forum Lazarus
    Réponses: 1
    Dernier message: 13/10/2011, 23h14
  2. récupérer un seul élément dans un fichier xml
    Par boboss76 dans le forum VBScript
    Réponses: 4
    Dernier message: 08/12/2010, 09h35
  3. Réponses: 21
    Dernier message: 22/07/2009, 14h19
  4. [XPATH] Récupérer un élément dans un fichier XML
    Par be_tnt dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 07/06/2007, 19h49
  5. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39

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