SimpleXML: Integrando PHP e XML de maneira simples. Anderson Casimiro



Documentos relacionados
XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011

GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

Folhas de estilo. Jomi Fred Hübner (XSL e XPath) FURB / DSC

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

Criando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

XML - Extensible Markup Language

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

Criação do Sistema Integrado de Bibliotecas do Sistema ACAFE: utilizando JAVA e XML

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Fórum Internacional Software Livre 8.0. PEAR::MDB2_Schema. Igor Feghali

Curso PHP Aula 08. Bruno Falcão

Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

EMML Enterprise Mashup Markup Language. Jesús Martín Talavera Portocarrero

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

CURSO : Empreendedorismo 40 Hrs aulas

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

UM FRAMEWORK PARA PERSISTÊNCIA DE DADOS EM PHP

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

CURSO DESENVOLVEDOR JAVA Edição 2010

Desenvolvimento orientado a objetos com PEAR: DB/MDB2, DB_DataObject, HTML_QuickForm e DB_DataObjectFormBuilder

Conteúdo Programático de PHP

5a. Aula - XML

CRIAÇÃO DE MAPAS TEMÁTICOS COM ALOV MAP

Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas

Transações Seguras em Bancos de Dados (MySQL)

Modelagem UML com Software Livre. Palestrante: Marcio Junior Vieira

Gerenciamento do ciclo de vida de um documento Simone de Abreu

Programação Orientada a Objetos: Lista de exercícios #1. Bruno Góis Mateus

Manual MQS. Logo após colocar essas informações abrirá a página inicial do sistema:

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Estrutura Básica do Documento HTML

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

Desenvolvimento em Ambiente Web. HTML - Introdução

Luiz Arão Araújo Carvalho Bacharel em Ciência da Computação Desenvolvedor RedeSat-TO

Trabalho de Graduação

Prova de pré-requisito

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Conhecendo o BrOffice.org Calc. Por: Paulo Garcez Leães

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Sumário. Parte I Introdução Introdução O Rails é ágil Explorando o conteúdo Agradecimentos... 19

Sistema de Gestão para qualquer Empresa do Terceiro Setor

PAPO SMS MANUAL DE INTEGRAÇÃO DO DESENVOLVEDOR VERSÃO 1.0

XML. na gestão de informações. Helder da Rocha Consultor. Integração total de negócios usando XML. Integração total de negócios usando XML

GTDC. Monitor GTDC Web v 3.0

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Introdução ao PHP. Prof. Késsia Marchi

XACML. extensible Access Control Markup Language

Geris Engenharia e Serviços

Armazenamento e Pesquisa de Topic Maps em Banco de Dados Relacional

dados abertos cartilha para desenvolvedores

LINGUAGEM DE PROGRAMAÇÃO WEB

PHP Programando com Orientação a Objetos

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

Programação para web JavaScript

Posições de template do projeto portal padrão

Criação Pagina PHP & MySQL

Manual do Aluno para o Curso do SEER à Distância

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

EA975 - Laboratório de Engenharia de Software

Não adianta mais só querer vender, é preciso RELACIONAR e engajar sua audiência.

Boleto Bancário estamos todos ligados

Tuplas e Dicionários. Vanessa Braganholo vanessa@ic.uff.br

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

Implementando uma Classe e Criando Objetos a partir dela

Java NET: Interaja com a Internet. Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio,

Aula 1: Noção Básica e Criação de Tabelas.

XHTML 1.0 DTDs e Validação

WIKI Documentado de forma ágil.

Introdução à Engenharia da Computação. Tecnologia Web Professor Machado

Caro participante, seja bem-vindo!!!

Comunicado Técnico. Adaptação da Ferramenta Digester para Tratamento de Atributos em Tags de Documentos XML. Padrão XML

Principais Responsabilidades:

Sistemas Operacionais. Prof. André Y. Kusumoto

Especificação do Trabalho

Uma Abordagem Alternativa para o Armazenamento Electrónico de Dados: O Papel da Norma XML

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP.

HTML Página 1. Índice

Modelagem UML com. Marcio Junior Vieira Ambiente Livre - Marcio Junior Vieira

LIBERTY SMS MANUAL DE INTEGRAÇÃO 1.1

What`s going on. Rede social para eventos geo-referenciados. Fernando Bunn Paul Eipper Jonatan

Persistência em Software Orientado a Objetos:

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

Documentação da API Likestore

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

Linguagem de. Aula 06. Profa Cristiane Koehler

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

Prática em Banco de Dados MER Sistema SIGEM. Grupo: Marcos Felipe Paes Pessoa Renan do Carmo Reis

Programação para Internet I Aulas 10 e 11

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Transcrição:

PHP Conference SimpleXML: Integrando PHP e XML de maneira simples Anderson Casimiro

Quem é esse cara? Coordenador de TI Desenvolvedor há mais de 4 anos Entusiasta PHP Áreas: Saúde, RH e Comercial Master PHP5 - Brainbench PHP, ColdFusion, Oracle, Mysql...

XML extensible Markup Language Compatível com SGML Sintaxe Simples Regras idem HTML não é XML XHTML é XML

XML Criado para guardar informação Formato uniforme Independente de plataforma Principais usos: Configuração Armazenamento de dados Transferência de informação uniforme Arquivos de troca webservices

XML: agenda.xml <?xml version="1.0" encoding="utf-8"?> <agenda> <contato id="1"> <nome>anderson Casimiro</nome> <email>anderson@duodraco.com</email> </contato> <contato id="2"> <nome>fulano de Tal</nome> <email>fulando@de.tal</email> </contato> </agenda>

PHP+XML: Como lidar? Parsing (Classes e Funções) P.E.A.R. PHP Extension and Application Repository pear.php.net SOX (Simple API for XML) DOM (Document Object Model) SimpleXML

SimpleXML Nativa do PHP5 Uso fácil e descomplicado Estrutura de objetos XPATH DOM Regras simples

4 Regras Propriedades: iterador de elementos Índices numéricos: elementos Índices não-numéricos: atributos Conversão de Strings: dados de texto

Mãos à obra SimpleXMLElement simplexml_load_file(string arquivo[,...] ) SimpleXMLElement simplexml_load_string(string dados[,...] ) *retornam FALSE se falhar <?php $sxo = simplexml_load_file("teste.xml"); print_r($sxo); // Onde $sxo recebe uma instância da // Classe SimpleXMLElement, referente ao // nó raiz (agenda) do arquivo agenda.xml?>

Anatomia... SimpleXMLElement Object ( [contato] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ([id] => 1) [nome] => Anderson Casimiro [email] => anderson@duodraco.com ) [1] => SimpleXMLElement Object( [@attributes] => Array([id] => 2) [nome] => Fulano de Tal [email] => fulando@de.tal ) ) )

Na prática... <?php $sxo = simplexml_load_file("agenda.xml"); echo $sxo->contato[0]["id"]; //1 echo $sxo->contato[0]->nome; //Anderson Casimiro echo $sxo->contato[1]->email; //fulando@de.tal?>

XPath Linguagem base p/ busca de informação Topo da XSLT XQuery e XPointer: construídos sob o XPath

XPath <?php /*...*/ //Email contato com id=2 $sxo->xpath('//contato[@id=2]/email'); //Email contato com nome='anderson Casimiro' $sxo->xpath("/agenda/contato[nome='anderson Casimiro']/email"); //nome do ultimo contato $sxo->xpath("/agenda/contato[last()]/nome"); //email do contato 1 $sxo->xpath("/agenda/contato[1]/email");?>

SimpleXML + DOM SimpleXMLElement simplexml_import_dom (DOMNode nó[,...] ) <?php $dom = new domdocument; $xml = <<<XML <agenda> <contato> <nome>anderson</nome> </contato> </agenda> XML; $dom->loadxml(); $s = simplexml_import_dom($dom); echo $s->contato[0]->nome; // Anderson?>

Editando o XML <?php header("content-type:text/plain"); $sxo = simplexml_load_file("example.xml"); $sxo->addchild("contato"); $sxo->contato[2]->addchild("name","livea"); $sxo->contato[2]->addchild("email","--"); $sxo->contato[2]->addattribute("id","3"); $x = $sxo->xpath('/agenda/contato[last()]'); print_r($x);?>

Voltando ao XML <?php header("content-type:text/plain"); $sxo = simplexml_load_file("agenda.xml"); $sxo->contato[1]->email = "beltrano@de.tal"; $sxo->contato[1]["id"] = "fulano"; echo $sxo->contato[1]->asxml(); /*imprime: <contato id="fulano"> <nome>fulano de Tal</nome> <email>beltrano@de.tal</email> </contato> */?>

O novo agenda.xml <?xml version="1.0" encoding="utf-8"?> <agenda> <contato id="1"> <nome>anderson Casimiro</nome> <email>anderson@duodraco.com</email> </contato> <contato id="fulano"> <nome>fulano de Tal</nome> <email>fulando@de.tal</email> </contato> <contato id="3"> <nome>livea</nome> <email>--</email> </contato> </agenda>

Nem tudo é perfeito SimpleXML não é uma boa saída para arquivos muito grandes Peca principalmente em performance Para esses casos utilize preferencialmente XMLReader e XMLWriter Não tem métodos nativos para remoção de elementos

Aplicação - SimpleXML Agenda [ CRUD ] Inserir [ Create ] Listar contatos [ Retrieve ] Editar [ Update ] Excluir [ Delete ] Contato nome endereço telefone

Até que enfim... Duvidas?

Referência www.php.net www.wikipedia.com www.xmlbr.com.br www.w3schools.com PHP5 Programação Poderosa Gutmans-Bakken-Rethans

Autor Anderson de Arruda Casimiro www.duodraco.com anderson@duodraco.com +55 11 9465.3590 DUODRACO