Mostrando postagens com marcador xml. Mostrar todas as postagens
Mostrando postagens com marcador xml. Mostrar todas as postagens

sexta-feira, 11 de abril de 2014

Construção de um Banco de Dados - Fase 2

Então passado a parte de codificação do banco de dados, finalmente chegou a hora de popular o banco de dados. Uma das partes menos interessantes, quando se tem que inserir uma grande quantidade de dados, ela se tornam mais desinteressante quando se tem uma grande quantidade de dados e combinado a isso não se encontra em um formato bacana.
Os dados que serão incluídos no banco estão no formato XML (eXtensible Markup Language), o que de certa forma já facilita na inserção dos dados. No meu caso apenas necessito saber quais os títulos das revistas e dos artigos escritos, e , o nome dos autores. Dessa forma, para acelerar o processo implementei o seguinte script, que varre todo o arquivo XML, e, retorna  os três elementos desejados.
O código foi escrito em PHP.


<?php

 $xml = simplexml_load_file("teste-01-database.xml");
 #var_dump($xml);

 $pesquisadores = $xml->pesquisador;
 $countPesquisador = $pesquisadores->count();

 $countArtigo = $pesquisadores->artigos_em_periodicos->artigo->count();
 
 echo "Número total de pesquisadores: ".$countPesquisador;

 foreach ($pesquisadores as $pesquisador) {
  # code...
    
  echo "
 "."Nome do pesquisador: ".$pesquisador->identificacao->nome_completo;

  if(isset($pesquisador->artigos_em_periodicos)){

   echo "
"."Quantidade de artigos em períodicos: ".$pesquisador->artigos_em_periodicos->artigo->count();

  foreach ($pesquisador->artigos_em_periodicos->artigo as $artigo) {
    # code...
    
    echo "Titulo Artigo: ".$artigo->titulo;
    echo "Titulo Revista: ".$artigo->revista;
   }
   
  }

  if(isset($pesquisador->artigos_em_revista)){

   echo "
"."Quantidade de artigos em revista: ".$pesquisador->artigos_em_revista->artigo->count();

  foreach ($pesquisador->artigos_em_revista as $artigo_revista) {
    # code...
    
    echo "Titulo Artigo: ".$artigo->titulo;
    echo "Titulo Revista: ".$artigo->revista;

   }

  }

  else if(isset($pesquisador->artigos_em_periodicos) and isset($pesquisador->artigos_em_revista)){

   echo "
"."Quantidade de artigos em períodicos: ".$pesquisador->artigos_em_periodicos->artigo->count();
   

  foreach ($pesquisador->artigos_em_periodicos->artigo as $artigo) {
    # code...
    
    echo "Titulo Artigo: ".$artigo->titulo;
    echo "Titulo Revista: ".$artigo->revista;
   }

   echo "
"."Quantidade de artigos em revista: ".$pesquisador->artigos_em_revista->artigo->count();
   
 foreach ($pesquisador->artigos_em_revista as $artigo_revista) {
    # code...
    
    echo "Titulo Artigo: ".$artigo->titulo;
    echo "Titulo Revista: ".$artigo->revista;

   }

  }

 }

?>
;-)