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,
