Do que trata o artigo

Este artigo trata da tecnologia SimpleXML, através de uma aplicação prática seremos capazes de exibir em tela dados contidos em um arquivo XML.


Para que serve

Este artigo serve para demonstrar como manipular documentos XML através da linguagem PHP, fazendo alteração dos dados contidos em um arquivo.


Em que situação o tema é útil

As técnicas apresentadas neste artigo serão úteis para sistemas que precisam promover a integração de informações entre diferentes plataformas, através da uma linguagem comum, a XML.

Resumo do DevMan

Este artigo mostra como criar uma página PHP onde o usuário vai poder digitar dados sobre alunos, em uma tela de cadastro. Estes dados serão gravados em um arquivo XML, que poderão ser consultados em uma grid. Para isso, utilizaremos o arquivo XML como se fosse um banco de dados, através da metodologia MVC (Model – View – Controller).

Autores: Lucas Simões Maistro e Raphael Zanon Rodrigues

Atualmente, o desenvolvimento de software exige que estejamos preparados a realizar integrações entre diversas plataformas, tecnologias e linguagens. Antes desenvolvíamos um software desktop restrito a apenas um sistema operacional, ou no desenvolvimento Web criávamos a aplicação para que funcionasse em alguns browsers. Hoje vivemos em um mundo onde um software não pode estar restrito a esse tipo de limitação, é necessário pensarmos em software que permita a adaptação para novas plataformas.

A partir desse cenário, entendemos também que, quando se trabalha com diversas plataformas, é perfeitamente possível que existam incompatibilidades entre elas, sendo assim tecnologias como XML e JSON (JavaScript Object Notation) tomam força, uma vez que são implementadas por praticamente todas as plataformas atuais. Neste artigo vamos abordar o formato XML, deixando para uma outra oportunidade uma abordagem da tecnologia JSON com PHP.

XML é uma linguagem de marcação que consiste em uma série de regras que divide um documento em partes lógicas e hierárquicas, sendo na verdade um subconjunto da linguagem SGML (Standard Generalized Markup Language). SGML é um padrão internacionalmente aceito para descrever praticamente qualquer tipo de informação, no entanto, é demasiadamente complexo para a Web. Desta forma, o órgão World Wide Web Consortium (W3C) criou uma versão modificada do SGML especificamente para a Web, a XML.

A XML trabalha com tags descritivas de marcação, muito parecidas com o HTML. A diferença é que o HTML foi projetado especificamente para formatar dados para navegadores da Web e, como tal, é limitada a um conjunto pré-definido de tags e funções. Já o XML apenas estabelece as regras para a marcação, deixando que o autor do documento defina suas próprias tags.

A XML foi projetada para incorporar as seguintes funcionalidades:

• Facilidade de uso - Por força das marcas descritivas que contêm, os documentos XML são fáceis de ler e entender, mesmo para os usuários com pouco conhecimento na área de desenvolvimento de software ou mesmo computação.Eles também são extremamente simples de criar, um usuário não-técnico é normalmente capaz de criar um documento XML em menos tempo do que levaria para criar um documento HTML correspondente;

• Estrutura formal - Embora tenhamos uma enorme flexibilidade na atribuição de nomes das tags oferecidas pelo padrão XML e possamos utilizar nossas próprias tags, o padrão XML impõe uma estrutura formal de um documento.Palavras chave devem ser nomeadas e aninhadas corretamente, tags de abertura devem ter marcas de fechamento correspondente e namespaces devem ser definidos sempre que forem necessários.Estas regras asseguram que cada documento XML reúna algumas expectativas mínimas de estrutura e sintaxe, e torne mais fácil para as aplicações e os processadores lidar com dados XML;

• Suportado por muitos aplicativos - Como a XML é fácil de usar e rápido para se trabalhar, não é difícil escrever um aplicativo que use dados XML codificados.Uma série de analisadores XML está disponível on-line, editores de XML, validadores e ferramentas, além do fato de que os browsers mais populares suportam XML;

• Compatível com SGML - Conforme mencionado anteriormente, a XML é um desdobramento do SGML, e documentos XML cumprem todas as regras e restrições de marcação SGML. XML combina o poder da SGML com a flexibilidade e facilidade de uso que esperamos da Internet.

Existem algumas abordagens básicas para analisar um documento XML, uma delas é baseada em eventos, outra em árvore. O analisador de documentos Simple API for XML (SAX) utiliza a primeira abordagem para análise dos documentos XML, enquanto que o Document Object Model (DOM) utiliza a segunda abordagem. A diferença básica e mais notória é que o DOM carrega todo o documento para a memória para analisá-lo, enquanto o SAX faz uma leitura por demanda, em partes.

O DOM é uma interface padrão de acesso e manipulação de estruturas de dados e, como o nome sugere, essas funcionalidades acontecem através da modelagem de uma árvore hierárquica de objetos. Dessa forma, a principal característica do DOM é que ele carrega todo o documento para a memória e tem à disposição uma visão de todos os objetos na memória como numa árvore (tree-based). Para se navegar e manipular os dados dessa árvore existe uma grande quantidade de objetos no DOM que oferecem métodos e atributos que podem ser usados por uma aplicação para tal finalidade, como por exemplo, as classes DomDocument, DomElement etc.

Já o SAX é mais indicado quando o documento a ser analisado é muito extenso, pois carregá-lo todo na memória não é uma prática muito boa, seria mais interessante ir carregando partes do documento conforme a necessidade. Como nosso exemplo será criar uma aplicação que armazene e manipule os dados em um arquivo XML, utilizaremos essa API no projeto. O SAX tem um papel muito claro e definido, sua função é meramente analisar dados XML que estão sendo consumidos por ele e fornecer as funções mais apropriadas para a manipulação dos dados.

...
Quer ler esse conteúdo completo? Tenha acesso completo