Leitura de XML

PHP

31/12/2013

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

Curtidas 0

Respostas

Marcio Araujo

Marcio Araujo

31/12/2013

o que vc queria fazer com esse XML?
GOSTEI 0
Antonio Araujo

Antonio Araujo

31/12/2013

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.
GOSTEI 0
Lincoln Coutinho

Lincoln Coutinho

31/12/2013

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
GOSTEI 0
Antonio Araujo

Antonio Araujo

31/12/2013

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?
GOSTEI 0
Lincoln Coutinho

Lincoln Coutinho

31/12/2013

Me passe seu email, Antonio ...
Grato
GOSTEI 0
Antonio Araujo

Antonio Araujo

31/12/2013

Anota aí
antimaxbr [@] Gmail.com
GOSTEI 0
William

William

31/12/2013

Devido ao rumo do tópico estou encerrando o mesmo!!
GOSTEI 0
POSTAR