Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOM
DOM Forum d'entraide pour l'extension DOM permettant de manipuler des documents XML en PHP 5 (approche DOM). Avant de poster -> tutoriels DOM
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/12/2011, 00h52   #1
Membre du Club
 
Inscription : août 2009
Messages : 177
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 177
Points : 46
Points : 46
Par défaut 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 :
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>
souffle56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 10h16   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 991
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 991
Points : 5 031
Points : 5 031
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 :
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);
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/12/2011, 21h35   #3
Membre du Club
 
Inscription : août 2009
Messages : 177
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 177
Points : 46
Points : 46
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 !
souffle56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h17.


 
 
 
 
Partenaires

Hébergement Web