Ler atributos de XML usando a classe PHP Simple Large XML Parser
Olá, neste exemplo vamos utilizar a classe Simple Large XML Parser para ler/exibir XML contendo atributos.
O arquivo XML é um exemplo de playlist, contendo título, album e autor, sendo que título possui os atributos: ID, Duracao e MP3 (este último seria o caminho do arquivo)
<?xml version="1.0" encoding="iso-8859-1"?> <playlist> <faixa> <titulo id="55" duracao="04:08" mp3="http://site.com/mp3/atari/01.mp3">Revolution Action</titulo> <album>60 Second Wipe Out</album> <autor>Atari Teenage Riot</autor> </faixa> <faixa> <titulo id="50" duracao="03:55" mp3="http://site.com/mp3/atari/03.mp3">Speed</titulo> <album>60 Second Wipe Out</album> <autor>Atari Teenage Riot</autor> </faixa> </playlist>
<?php
// incluindo a classe
require_once('SimpleLargeXMLParser.class.php');
// seta o caminho do XML
$xml = dirname(__FILE__)."/playlist.xml";
// cria objeto
$parser = new SimpleLargeXMLParser();
// carrega XML
$parser->loadXML($xml);
// seta no parser o nó a ser listado/percorrido
$playlist = $parser->parseXML("//playlist/faixa", true);
// percorre o XML
foreach($playlist as $faixas)
{
//percorre o nó faixa
foreach($faixas as $faixa => $titulos)
{
if(isset($titulos[0]['value']['titulo']))
{
// armazena no objeto titulo o nó atual
$titulo = (object) $titulos[0]['value']['titulo'];
// adiciona o nó album no objeto titulo
$titulo->album = $faixas['album'][0]['value']['album']['value'];
// adiciona o nó autor no objeto titulo
$titulo->autor = $faixas['autor'][0]['value']['autor']['value'];
// print o valor do nó titulo
echo $titulo->value
. "<br />"
// printa o atributo id do titulo
. $titulo->attributes['id']
. "<br />"
// printa o atributo duracao
. $titulo->attributes['duracao']
. "<br />"
// printa o atributo mp3
. $titulo->attributes['mp3']
. "<br />"
// printa o nó album
. $titulo->album
. "<br />"
// printa o nó autor
. $titulo->autor
. "<br /><br />" ;
}
}
}
?>
Output:

É isso, é bom dar um print_r($playlist) para ver a estrutura criada pelo Parser!
Download: XMLAttr
Parser : PHP Simple Large XML Parser
Voltei!!!

Putz kra, sofri no mes passada pra aprender a fazer isso juntando alguns tutos teus ashuhsuash
mas resumido assim eu consigo ver como eu fazia parecer dificil um negócio tão simples, heheh
espero novos tutos em breve o/