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

Bibliothèques et frameworks PHP Discussion :

[DOM] Trouver le code le plus grand -> ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 186
    Points : 80
    Points
    80
    Par défaut [DOM] Trouver le code le plus grand -> ?
    Bonjour à tous,
    Voilà ce qui m'amène à vous contacter : j'aimerais pouvoir "récupérer" dans le fichier XML "Test.xml" (exemple ci-dessous) la valeur la plus grande existant pour l'attribut "code" -> Auriez-vous quelque suggestion à me proposer, SVP ?

    En vous remerciant par avance !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <r code="873">Jeux existant
    	<r code="874">Jeux aquatiques
    		<r code="880">hippocampe</r>
    		<r code="875">Jeux de poissons
    		<r code="879">Petit phoque...</r>
    			<r code="876">Miam...</r>
    			<r code="877">Faire la course...</r>
    			<r code="878">Prêt... sautez !</r>
    		</r>
    	</r>
    </r>

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Utilise un Xpath avec la fonction max.

    -- EDIT

    Oublie ce que j'ai dit, fn:max n'est présent que dans la version 2.0 de XPath...

    Bref, quelque chose du genre peut faire l'affaire:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    $xml = <<< XML
    <root>
    	<test id="1">
    		<test id="2">
    		</test>
    	</test>
    	<test id="3">
    	</test>
    </root>
    XML;
     
    $doc = new DOMDocument();
    $doc->loadXML($xml);
     
    $xpath = new DOMXPath($doc);
    $nodes = $xpath->query('//*[@id]');
     
    foreach ($nodes as $node) {
    	if (!isset($max)) {
    		$max = $node->getAttribute('id');
    	}
    	else {
    		$max = max($node->getAttribute('id'), $max);
    	}
    }
     
    var_dump($max);

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 186
    Points : 80
    Points
    80
    Par défaut
    Merci Benjamin,
    Quelle concision et quelle pertinence dans ta réponse...
    Effectivement, c'est exactement le code dont j'avais besoin !

    Grand Merci à toi et...
    Bonne continuation !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/02/2017, 17h46
  2. Trouver qui est le plus grand
    Par Yepazix dans le forum Débuter
    Réponses: 13
    Dernier message: 13/04/2010, 11h20
  3. Trouver la variable la plus grande
    Par Gauldo dans le forum Langage
    Réponses: 4
    Dernier message: 04/12/2008, 12h52
  4. Réponses: 13
    Dernier message: 09/08/2008, 14h04
  5. [Access] Trouver qui a le plus grand nombre de visites
    Par maxidoh dans le forum Langage SQL
    Réponses: 13
    Dernier message: 03/04/2006, 03h00

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