Lendo um Arquivo xml com PHP.
Bem primeiramente considerem o seguinte codigo xml como o contido na url:
Bem agora vamos pegar o xml pela url e atribuir á uma váriavel.
Agora pegamos a variavel $filename e jogamos seu conteudo para uma 'string' $xmlstr
Usaremos a extensão DOM do php para manipular o xml.
Poderiamos usar um foreach agora, mas como meu xml é simples e não tem várias repetições ultilizaremos apenas sua chamada.
Podemos ler seus valores da seguinte forma:
por ex: para ler o Titulo colocariamos:
e assim por diante,
espero que tenham gostado e até a próxima.
http://wwww.seusite.com.br/suporte.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <suporte> <conteudo> <title> Suporte - Joaozinho. </title> <descricao> Pensando em comodidade, excelência e qualidade de atendimento, a ..... </descricao> <contato> <email> teste@lal.com.br </email> <skype> suporte.lala </skype> <telefone> (66) 5555-4444 </telefone> </contato> <aviso> Aviso: Qualquer duvida em relação ao gestor, entre em contato com nosso Suporte: teste@lalal.com.br </aviso> <ultima> Estamos com várias promoções de Criação de Sites, para mais informações entrem contato </ultima> </conteudo> </suporte>
Bem agora vamos pegar o xml pela url e atribuir á uma váriavel.
//Pegando url e atribuindo para a váriavel filename $filename="http://seusite.com.br/suporte.xml";
Agora pegamos a variavel $filename e jogamos seu conteudo para uma 'string' $xmlstr
//file_get_contents -> Lê todo o conteúdo de um arquivo para uma string; //Jogando o filename para uma string. $xmlstr = file_get_contents($filename);
Usaremos a extensão DOM do php para manipular o xml.
// * Instância a classe, e carrega o XML que está na 'string'. $dom = new domDocument(); $dom->loadXML($xmlstr); $xml = simplexml_import_dom($dom); //Recebe um objeto SimpleXMLElement de um nó DOM.
Podemos ler seus valores da seguinte forma:
//exibe o email dentro do nó contato que por sua vez está dentro do nó de conteudo. $xml->conteudo->contato->email;
por ex: para ler o Titulo colocariamos:
$xml->conteudo->title;
espero que tenham gostado e até a próxima.
Gregory Iyama, é só fazer o foreach no xml.
26/02/2016 11:56am
(~8 anos atrás)
Olá Fernando Henrique Silva Ferreira,
achei da hr, mas e qnd tiver mais d uma tag contato?
por exemplo, eu quero dar um echo no email do segundo contato, como faz?
abracos!
achei da hr, mas e qnd tiver mais d uma tag contato?
por exemplo, eu quero dar um echo no email do segundo contato, como faz?
abracos!
26/02/2016 9:53am
(~8 anos atrás)
Querendo saber mais sobre geração e manipulação de arquivos XML com PHP
Visitem este blog
http://dofaridfr.blogspot.com.br/
Lé tem ótimos exemplos práticos e explicações de como utilizar a biblioteca SimpleXML
Visitem este blog
http://dofaridfr.blogspot.com.br/
Lé tem ótimos exemplos práticos e explicações de como utilizar a biblioteca SimpleXML
03/08/2013 12:46pm
(~11 anos atrás)