Category Archives: PHP-XML

Princípios básicos de integração entre PHP e XML

Amigos, irei mostrar algumas técnicas e explicar algumas coisas a respeito de XML e a utilização deste com PHP para o tratamento de dados para o transito dos mesmos entre sistemas. Basicamente iremos utilizar funções standard do PHP para abrir arquivos do tipo XML e fazer a festa realizar o tratamento dos dados.

O que é XML?

XML da sigla em inglês eXtensible Markup Language que é uma recomendação técnica da W3C, entidade que regulamenta a comunicação e padrões na internet. Com o XML é possível criar um arquivo com uma listagem padronizada de dados. Para maiores informações desta linguagem, você poderá acessar o artigo em português na Wikipedia aqui.

Utilizando PHP com XML

Vamos criar o nosso arquivo XML com informações de 4 notícias, veja abaixo:

<? xml version="1.0" ?>

   Noticias usando XML 01 
   Leonardo Nobre 
   leonardonobre@ibest.com.br 
   este é o texto da Notícia 



   Noticias usando XML 02 
   Leonardo Nobre 
   leonardonobre@ibest.com.br 
   este é o texto da Notícia 



   Noticias usando XML 03 
   Leonardo Nobre 
   leonardonobre@ibest.com.br 
   este é o texto da Notícia 



   Noticias usando XML 04 
   Leonardo Nobre 
   leonardonobre@ibest.com.br 
   este é o texto da Notícia 

Salve este arquivo texto como noticias.xml e agora iremos ver como selecionar, de forma simples com o simplexml_load_file(); uma função Standard do PHP.

<?php
$file = simplexml_load_file("noticias.xml");
// Aqui uma instância do $file com o método getName() _
// Para pegar o nome do nó do arquivo XML.
echo $file->getName() . "";

// Então temos uma array com os elementos
// E podemos percorrer essa array com o foreach
foreach($xml->children() as $child)
  {
  // O nome do nó e a filha, ou seja, o valor deste nó.
  echo $child->getName() . " -  " . $child . "";
  }
?>

Algumas funções Standard do PHP para o tratamento de arquivos XML.

xml_error_string();
Retorna uma string de erro

xml_get_current_byte_index();
Retorna o byte index atual

xml_get_current_column_number();
Retorna a coluna atual

xml_get_current_line_number();
Retorna a linha atual

xml_get_error_code();
Retorna o código de erro

xml_parse();
Inicia a análise de um documento XML

xml_parser_create();
Cria um analisador XML

xml_parser_free();
Libera um analisador XML

xml_parser_get_option();
Retorna as opções

xml_parser_set_option();
Ajusta as opções

xml_set_character_data_handler();
Ajusta os caracteres de dados

xml_set_default_handler();
Ajusta o handler padrão

xml_set_element_handler();
Ajusta elementos de início e término

xml_set_external_entity_ref_handler();
Ajusta entidade externa de referência

xml_set_notation_decl_handler();
Ajusta uma declaração de notação

xml_set_object();
Utiliza o analisador XMLcom um objeto

xml_set_processing_instruction_handler();
Ajusta as instruções de processamento

xml_set_unparsed_entity_decl_handler();
Ajusta uma declaração não analisada

Vou atualizando este post para futuras referências e, também, criar um novo post para mais ficar de manipulação e outros comandos para mapeamento de nós no XML.

Abraços,