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 CEO Tasha Smith Finance Manager
AQUI,
- “ Xml version =" 1.0 "encoding =" utf-8 "?>” 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.