Tutorial PHP XML: Criar, Analisar e Ler com Exemplo

Índice:

Anonim

O que é XML?

XML é a sigla para Extensible Markup Language.

XML é usado para estruturar, armazenar e transportar dados de um sistema para outro.

XML é semelhante a HTML.

Ele usa tags de abertura e fechamento.

Ao contrário do HTML, o XML permite que os usuários definam suas próprias tags.

Neste tutorial, você aprenderá-

  • O que é DOM?
  • Analisadores XML
  • Por que usar XML?
  • Exemplo de documento XML
  • Como ler XML usando PHP
  • Como criar um documento XML usando PHP

O que é DOM?

DOM é a sigla para Document Object Model.

É uma plataforma cruzada e um padrão neutro de linguagem que define como acessar e manipular dados em;

  • HTML
  • XHTML
  • XML

DOM XML é usado para acessar e manipular documentos XML. Ele vê o documento XML como uma estrutura de árvore.

Analisadores XML

Um analisador XML é um programa que converte o documento XML em um objeto XML Document Object Model (DOM).

O objeto XML DOM pode então ser manipulado usando JavaScript, Python e PHP etc.

A palavra-chave CDATA, que é o acrônimo de (Unparsed) Character Data, é usada para ignorar caracteres especiais como “<,>” ao analisar um documento XML.

Por que usar XML?

  • Os serviços da Web, como SOAP e REST, usam o formato XML para trocar informações. Aprender o que é XML e como ele funciona lhe dará vantagem competitiva como desenvolvedor, pois os aplicativos modernos fazem uso intenso de serviços da web.
  • Documentos XML podem ser usados ​​para armazenar definições de configuração de um aplicativo
  • Ele permite que você crie suas próprias tags personalizadas, o que o torna mais flexível.

Exemplo de documento XML

Vamos supor que você esteja desenvolvendo um aplicativo que obtém dados de um serviço da Web no formato XML.

Abaixo está o exemplo de como o documento XML se parece.

Joe Paul
CEOTasha Smith
Finance Manager

AQUI,

  • ” Especifica a versão xml a ser usada e a codificação
  • ” é o elemento raiz.
  • … ” são os elementos filhos de administração e vendas, respectivamente.

Como ler XML usando PHP

Vamos agora escrever o código que lerá o documento XML dos funcionários e exibirá os resultados em um navegador da web. Index.php


Employees Listing

';$list = $xml->record;for ($i = 0; $i < count($list); $i++) {echo 'Man no: ' . $list[$i]->attributes()->man_no . '
';echo 'Name: ' . $list[$i]->name . '
';echo 'Position: ' . $list[$i]->position . '

';}?>

AQUI,

  • “$ Xml = simplexml_load_file ('funcionários.xml');” usa a função simplexml_load_file para carregar o nome do arquivo workers.xml e atribuir o conteúdo à variável de array $ xml.
  • “$ List = $ xml-> registro;” obtém o conteúdo do nó de registro.
  • “For ($ i = 0; $ i
  • “$ List [$ i] -> atributos () -> man_no;” lê o atributo man_no do elemento
  • “$ List [$ i] -> nome;” lê o valor do elemento filho name
  • “$ List [$ i] -> posição;” lê o valor do elemento filho position

Testando nosso aplicativo

Supondo que você salvou o arquivo index.php na pasta phptus / xml, navegue até a URL http: //localhost/phptuts/xml/index.php

Como criar um documento XML usando PHP

Agora veremos como criar um documento XML usando PHP.

Usaremos o exemplo acima no diagrama da árvore DOM.

O código a seguir usa o PHP embutido na classe DOMDocument para criar um documento XML.

encoding = 'utf-8';$dom->xmlVersion = '1.0';$dom->formatOutput = true;$xml_file_name = 'movies_list.xml';$root = $dom->createElement('Movies');$movie_node = $dom->createElement('movie');$attr_movie_id = new DOMAttr('movie_id', '5467');$movie_node->setAttributeNode($attr_movie_id);$child_node_title = $dom->createElement('Title', 'The Campaign');$movie_node->appendChild($child_node_title);$child_node_year = $dom->createElement('Year', 2012);$movie_node->appendChild($child_node_year);$child_node_genre = $dom->createElement('Genre', 'The Campaign');$movie_node->appendChild($child_node_genre);$child_node_ratings = $dom->createElement('Ratings', 6.2);$movie_node->appendChild($child_node_ratings);$root->appendChild($movie_node);$dom->appendChild($root);$dom->save($xml_file_name);echo "$xml_file_name has been successfully created";?>

AQUI,

  • “$ Dom = new DOMDocument ();” cria uma instância da classe DOMDocument.
  • “$ Dom-> encoding = 'utf-8';” define a codificação do documento para utf-8
  • “$ Dom-> xmlVersion = '1.0';” especifica o número da versão 1.0
  • “$ Dom-> formatOutput = true;” garante que a saída está bem formatada
  • “$ Root = $ dom-> createElement ('Movies');” cria o nó raiz denominado Movies
  • “$ Attr_movie_id = new DOMAttr ('movie_id', '5467');” define o atributo de id do filme do nó Filmes
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')” cria o nó filho do nó Filmes. ElementName especifica o nome do elemento, por exemplo, Título. ElementValue define o valor do nó filho, por exemplo, The Campaign.
  • “$ Root-> appendChild ($ movie_node);” anexa os elementos movie_node ao nó raiz Movies
  • “$ Dom-> appendChild ($ root);” anexa o nó raiz ao documento XML.
  • “$ Dom-> save ($ xml_file_name);” salva o arquivo XML no diretório raiz do servidor web.
  • “Echo ''. $ xml_file_name. ' foi criado com sucesso'; ” cria o link para o arquivo XML.

Testando nosso aplicativo

Supondo que você salvou o arquivo create_movies_list na pasta phptuts / xml, navegue até a URL http: //localhost/phptuts/xml/create_movies_list.php

Clique no link movies_list_xml

Resumo

  • XML é a sigla para Extensible Markup Language
  • XML pode ser usado para trocar informações entre sistemas ou armazenar definições de configuração de um aplicativo, etc.
  • DOM é a sigla para Document Object Model. XML DOM vê o documento XML como uma estrutura de árvore
  • Um XML Parser é um programa que traduz XML um documento XML em uma estrutura de árvore DOM como um documento.
  • CDATA é usado para ignorar caracteres especiais ao analisar documentos XML.
  • PHP usa simplexml_load_file para ler documentos XML e retornar os resultados como uma matriz numérica
  • Classe PHP DOMDocument para criar arquivos XML.