Pour le faire avec DOM vous
$dom = new DOMDocument;
$dom->load('file.xml');
foreach($dom->getElementsByTagName('file') as $file) {
echo $file->getAttribute('path');
}
Vous pouvez aussi le faire avec XPath:
$dom = new DOMDocument;
$dom->load('file.xml');
$xPath = new DOMXPath($dom);
foreach($xPath->evaluate('/files/file/@path') as $path) {
echo $path->nodeValue;
}
Ou comme une valeur de chaîne directement:
$dom = new DOMDocument;
$dom->load('file.xml');
$xPath = new DOMXPath($dom);
echo $xPath->evaluate('string(/files/file/@path)');
Vous pouvez chercher individuelle nœuds également en traversant manuellement le DOM
$dom = new DOMDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->load('file.xml');
echo $dom->documentElement->firstChild->getAttribute('path');
Marquer ce CW, parce que cela a été répondu avant plusieurs fois (juste avec des éléments différents), y compris moi, mais je suis trop paresseux pour trouver le doublon.
Soyez prudent. La valeur de $ xml-> file ['path'] n'est pas une chaîne. C'est une instance de SimpleXMLElement. – mellowsoon
En effet. Cela peut causer des problèmes en comparant la valeur à une autre chaîne mais vous pouvez convertir cette valeur en une chaîne auparavant (chaîne) $ xml-> fichier ['chemin'] ' –
merci les gars, exactement ce que je cherchais –