Чтобы сделать это с DOM , вы делаете
$dom = new DOMDocument;
$dom->load( 'file.xml' );
foreach( $dom->getElementsByTagName( 'file' ) as $file ) {
echo $file->getAttribute( 'path' );
}
Вы также можете сделать это с XPath:
$dom = new DOMDocument;
$dom->load( 'file.xml' );
$xPath = new DOMXPath( $dom );
foreach( $xPath->evaluate( '/files/file/@path' ) as $path ) {
echo $path->nodeValue;
}
Или как строковое значение напрямую:
$dom = new DOMDocument;
$dom->load( 'file.xml' );
$xPath = new DOMXPath( $dom );
echo $xPath->evaluate( 'string(/files/file/@path)' );
Вы можете выбрать отдельные узлы, также пройдя DOM вручную
$dom = new DOMDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->load( 'file.xml' );
echo $dom->documentElement->firstChild->getAttribute( 'path' );
Маркировка этого CW, потому что на этот вопрос уже отвечали несколько раз (только с разными элементами), включая меня, но мне лень находить дубликат.