Leitura de XML

31/12/2013

0

PHP

Pessoal já procurei por todo lado e não consigo achar...recebo um xml de um sistema de notícias meio complexo e ele vem em xml.
Preciso ler e exibir cada um dos itens do XML mas para item "identificacao" que consta no arquivo a estrutura interna pode vir com várias coisas diferente.
alguns "indetificacao" tem apenas um número como parâmetro, em outros casos vem com várias informações extras.
Fica mais fácil conferindo um pequeno pedaço do arquivo xml.
Se alguém puder me ajudar eu agradeço.

<?xml version="1.0" encoding="UTF-8" ?>
<categoria numero="046" data="01/01/2013">
  <identificacao numero="10505811">
    <referencias>
      <referencia codigo="HPS16"/>
    </referencias>
    <titulos>
      <titulo nome="NOTICIA DEMO UM" estado="MG" pais="BR"/>
    </titulos>
  </identificacao>
  <identificacao numero="10505812" data-entrada="02/01/2013" data-liberacao="05/01/2013" data-expiracao="15/01/2013">
    <referencias>
      <referencia codigo="HPS22"/>
    </referencias>
    <titulos>
      <titulo nome="NOTICIA DEMO DOIS" estado="SP" pais="BR"/>
    </titulos>
    <sobre assunto="Automóveis" fonte="Própria">
      <autor>RENATO</autor>
    </sobre>
    <infobase codigo="15">
      <descricao>DESCRICAO BASE UM</descricao>
    </infobase>
    <coautor>FERNANDA</coautor>
  </identificacao>
  <identificacao numero="10506841" data-entrada="06/01/2013" data-liberacao="11/01/2013" data-expiracao="21/01/2013">
    <referencias>
      <referencia codigo="HPS16"/>
    </referencias>
    <titulos>
      <titulo nome="NOTICIA DEMO TRES" estado="CA" pais="US"/>
    </titulos>
    <sobre assunto="Política" fonte="Routers">
      <autor>ALEX</autor>
    </sobre>
    <links-externos base="02">
      <link-externo codigo="42"/>
      <link-externo codigo="43"/>
      <link-externo codigo="35"/>
      <link-externo codigo="58"/>
      <link-externo codigo="76"/>
    </links-externos>
    <infobase codigo="28">
      <descricao>DESCRICAO BASE TRES</descricao>
    </infobase>
    <extrainfo>MANTER CRÉDITOS</extrainfo>
  </identificacao>
</categoria>
Antonio Araujo

Antonio Araujo

Responder

Posts

01/01/2014

Marcio Araujo

o que vc queria fazer com esse XML?
Responder

01/01/2014

Antonio Araujo

Preciso ler todos os itens e subitens dessa estrutura de XML para exibir... ou seja, precisava ter cada item e subitem em uma variável.
Mas já achei dezenas de exemplos e informações apenas quando os dados estão por exemplo assim: <nomedoitem>informação desejada</nomedoitem> mas nesse exemplo tem diversas formas de apresentação, como:

<nomeitem1>
<nomesubitem>informacao desejada</nomesubitem>
</nomeitem1>

ou até mesmo assim <nomeitem2 nomeatribudo1="informacao desejada" nomeatributo2="informacao desejada"></nomeitem2>

outro exemplo

<item>
<subittem1>informacao desejada</subitem1>
<subittem2>informacao desejada</subitem2>
<subittem3>informacao desejada</subitem3>
</item>

Estou completamente perdido nisso... pois tem todas essas formas de apresentação de dados dentro do XML tudo de uma vez. sendo que são centenas de itens do tipo <identificacao> dentro do XML.

Já procurei muito na net por tutoriais, apostilas e até por livros e não acho nada recente com informações atualizadas informando como fazer isso.

Se puder me ajudar eu agradeço muito.
Responder

02/01/2014

Lincoln Coutinho

Boa tarde,Antonio Araujo

O PHP tem uma função chamada simplexml_load_file, essa função permite o consumo de XML's em sua pagina (Conceito de WebService)

   

$xml = simplexml_load_file('test.xml'); // Pagina que contem o XML
 
print_r($xml); // Exibe todo XML em sua pagina


Para complementar você pode usar um laço de repetição, por xemplo um FOREACH
Responder

02/01/2014

Antonio Araujo

Boa tarde,Antonio Araujo

O PHP tem uma função chamada simplexml_load_file, essa função permite o consumo de XML's em sua pagina (Conceito de WebService)

   

$xml = simplexml_load_file('test.xml'); // Pagina que contem o XML
 
print_r($xml); // Exibe todo XML em sua pagina


Para complementar você pode usar um laço de repetição, por xemplo um FOREACH


Opa... Lincoln, quanto cobra para desenvolver um arquivo para ler e me entregar os dados de cada item <identificacao> e todos os subitens e atributos em um arquivo CVS?
Responder

03/01/2014

Lincoln Coutinho

Me passe seu email, Antonio ...
Grato
Responder

03/01/2014

Antonio Araujo

Anota aí
antimaxbr [@] Gmail.com
Responder

16/01/2014

William

Devido ao rumo do tópico estou encerrando o mesmo!!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar