Fala galera! Essa semana vamos dar início a uma série de artigos sobre PHP e XML.
O que é XML?
O XML (Extensible Markup Language) permite que você crie os seus próprios conjuntos de elementos de marcação. O XML é uma maneira simples e padrão de delimitar os dados do texto. É como você pudesse usar a sua linguagem de programação favorita para criar uma estrutura de dados e então compartilhá-la com qualquer pessoa usando outra linguagem em qualquer plataforma.
Exemplo de arquivo XML: clientes.xml
<?
xml version="1.0" ?>
<cliente>
<nome> Júlio César Martini </nome>
<email> baphp@imasters.com.br </email>
<cidade> Araras/SP </cidade>
</cliente>
Abra o arquivo acima no seu navegador e veja o resultado:

Instalando a extensão EXPAT?
A extensão expat tem por objetivo possibilitar a análise de documentos XML. Se o PHP estiver sendo executado no servidor Apache 1.3.7 ou posterior o expat já estará disponível, portanto, você terá apenas que configurar o PHP com --with-xml para que a extensão seja integrada ao Apache.
Se você não estiver a extensão é só fazer o download em: http://sourceforge.net/projects/expat/
Funções PHP com XML
|
Comando |
Descrição |
|
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 |
Semana que vem estaremos apresentando um exemplo prático de PHP com XML.
Não deixe de nos enviar críticas ou sugestões para o próximo assunto, afinal a coluna é de vocês.
Boa semana à todos!
Muito interessanre este assunto!!
Responder comentáriogostava de ver aqui um artigo/tutorial sobre o preenchimento de docs pdf via web. Preenchimento de formulários/imagens via web.
Meus parabbéns, teu artigo está muito bom e me ajudou muito.
Grande abraço,
Cássio Lacerda
http://www.cassiolacerda.com
julio, so ta fltando agora uma segunda parte desse artigo
Responder comentárioJúlio
Percebi que nenhum dos exemplos que falam em PHP com XML tem acentuação, isso me deixou intrigado. Testei os exemplos dos seus artigos e no lugar dos acentos aparecem uns caracteres estranhos. Mesmo quando coloco no arquivo.xml a linha encoding="iso-8859-1", na realidade se não tiver essa linha o xml nem é interpretado.
Descobri que no caso do PHP é preciso também informar qual o encoding que ele deve utilizar. Conforme linha de código abaixo:
...
$parser = xml_parser_create("iso-8859-1");
...
Espero com isso ter contribuído um pouco que seja com esse site que uso com muita frequência.
Valeu !
Meus amigos ainda estou com problemas com acentuação, ja acrescentei iso-8859-1 (comentario do Pedro Rabelo) e tbem no arquivo xml (<?xml version="1.0" encoding="iso-8859-1), qdo executo o comando xml_set_character_data_handler ($xml_parser, "characterData"), ele chama a function characterData($parser , $data)
dentro desta função qq print no $data já perdeu a acentuação. Alguém pode me ajudar? Muito obrigado
Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.
Júlio César Martini atualmente presta serviços de WebMaster/Programador para o UOL (http://www.uol.com.br), Graduado em Tecnólogo em Informática pela UNIFIAN - Faculdades Anhanguera e Pós-Graduado em Desenvolvimento de Software para Web pela UFSCAR. Foi o primeiro profissional a chegar à marca de 100 artigos publicados no iMasters e trabalha com PHP desde 2000. Site: http://www.juliocesarmartini.com
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.