hacerlo con DOM haces
$dom = new DOMDocument;
$dom->load('file.xml');
foreach($dom->getElementsByTagName('file') as $file) {
echo $file->getAttribute('path');
}
También puede hacerlo con XPath:
$dom = new DOMDocument;
$dom->load('file.xml');
$xPath = new DOMXPath($dom);
foreach($xPath->evaluate('/files/file/@path') as $path) {
echo $path->nodeValue;
}
o como un valor de cadena directa:
$dom = new DOMDocument;
$dom->load('file.xml');
$xPath = new DOMXPath($dom);
echo $xPath->evaluate('string(/files/file/@path)');
se puede recuperar individuo nodos también atravesando el DOM manualmente
$dom = new DOMDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->load('file.xml');
echo $dom->documentElement->firstChild->getAttribute('path');
Marcando este CW, porque esto ha sido respondido varias veces (solo con elementos diferentes), incluyéndome a mí, pero soy demasiado flojo para encontrar el duplicado.
Solo ten cuidado. El valor de $ xml-> file ['path'] no es una cadena. Es una instancia de SimpleXMLElement. – mellowsoon
De hecho. Puede causar problemas al comparar el valor con otra cadena, pero puede convertir este valor en una cadena de antemano '(cadena) $ xml-> archivo ['ruta']' –
gracias muchachos, exactamente lo que estaba buscando –