Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pablo Saldanha

Ler Atributos do XML com PHP

Recommended Posts

Amigos eu sempre usei xml mas desse modo

<?xml version=”1.0″ encoding=”iso-8859-1″?>
   <livros>
  <livro>
   <cod>01</cod>
   <titulo>PHP para iniciantes</titulo>
   <descricao>Desenvolvendo Aplicações web</descricao>
   <autor>Manuel da Silva</autor>
   <paginas>200</paginas>
   <preco>5.00</preco>
  </livro>
  <livro>

mas agora tenho que pegar um xml ja pronto... então o xml e assim...

<?xml version="1.0" encoding="ISO-8859-1"?>
<videos>
<video desc="Adidas" url="videos\video3.flv" />
<video desc="Animated 1" url="videos\video2.flv" />
<video desc="Animated 1" url="videos\video1.flv" />
</videos>

a pergunta é como posso ler os Atributos do xml??... o pior é que nem posso mudar o xml... valew pessoal

 

Bom pessoal ja arrumei a solução ne... mas fica ai o pessoal que esta procurando a resposta como eu então vamos la...

 

supondo que temos um XML igual a esse...

<?xml version="1.0" encoding="ISO-8859-1"?>
<videos>
<video desc="Adidas" url="videos\video3.flv" />
<video desc="Animated 1" url="videos\video2.flv" />
<video desc="Animated 1" url="videos\video1.flv" />
<!-- Do NOT modify any line below -->
<video desc="Playlist Ended!" url="Playlist Ended!" />
</videos>

ok? então como posso acessar esses atributos?... resposta...

<?php
$xml = simplexml_load_file("videos.xml") or die ("Unable to load XML string!");
$xml->video[0]["url"];
?>
explicação e a seguinte... ao carregar o xml ele faz com que a variavel $xml torne-se uma array de nos do xml...

para acessar os atributos basta setar onde ele esta dentro de cada no.

exmplo

$xml->video[0]["url"];
//onde $xml e o nosso <videos> ou seja o no pai e o video e o no filho onde dentro dele o atributo url e chamado na forma de ["url"]
logico que a representalçao e a mais simples podemos tmb fazer um foreach assim

foreach($xml->video as $vex){
	  echo $vex["url"]."<br>";
	}
saida

videos\video3.flv
videos\video2.flv
videos\video1.flv
Playlist Ended!

valew pessoal... usem o forum e ajude o pessoal valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode utilizar DOM:

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif DOMElement::getAttribute()

 

<?php
$dom = new DOMDocument();
$dom->load( 'arquivo.xml' );

foreach ( $dom->getElementsByTagName( 'video' ) as $video ){
$desc = $video->getAttribute( 'desc' );
$url = $video->getAttribute( 'url' );

echo 'O atributo desc contém: ' , $desc , ' e a URL contém ' , $url;
}

 

Saída:

O atributo desc contém: Adidas e a URL contém videos\video3.flv
O atributo desc contém: Animated 1 e a URL contém videos\video2.flv
O atributo desc contém: Animated 1 e a URL contém videos\video1.flv

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.