Xpath : Obtenir valeur d'un noeud

cs_Yanith Messages postés 34 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 24 septembre 2014 - 20 sept. 2014 à 11:27
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 24 sept. 2014 à 14:21
Bonjour,

Je pense avoir un soucie vraiment bête, mais je ne parviens pas à trouver la solution.

J'ai un fichier XML qui comporte une multitude de donnée mais la partie qui m'intéresse actuellement est celle ci :
<?xml version="1.0" encoding="utf-8"?>
....
    <paths>
        <folder type="css">css</folder>
        <folder type="js">javascript</folder>
        <folder type="lang">language</folder>
        <folder type="tpl">template</folder>
    </paths>
....


Je voudrai récupérer la valeur "language" du noeud comportant l'attribut "type" ayant la valeur "lang" (Je sais pas si je suis bien clair la :x)

En faisant comme ceci, bien évidement, je n'y parviens pas :

$xml = simplexml_load_file($xmlfile);
$result = $xml->xpath('/paths/folder[@type="lang"]');
var_dump($result);


j'ai modifier aussi le Xpath comme ceci :

$result = $xml->xpath('/paths[folder[@type="lang"]]');


J'ai beau faire des recherches avec mon ami et essayer de multiples formules Xpath mais je n'arrive pas à récupérer cette foutue valeur "language".

Si quelqu'un à la solution, je suis preneur ;)

Cordialement.

2 réponses

cs_Yanith Messages postés 34 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 24 septembre 2014
24 sept. 2014 à 13:51
Personne n'a un idée ? ou c'est tellement bête que personne veux se donner la pêne de m'aider :p
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
24 sept. 2014 à 14:21
A mon avis... c'est que personne (actuellement) n'a d'idée...

Mais bon, je pense avoir la réponse:

$xmlfile="test.xml";
if (file_exists($xmlfile)) {
    $xml = simplexml_load_file($xmlfile);
		$result = $xml->xpath('./folder[@type="lang"]');
		echo "<br><b>La valeur est :</b>:".$result[0]."<br>";
}else{

echo "<br> ERROR !";
}


0
Rejoignez-nous