O analisador DOM built-in torna possível processar documentos XML em PHP.
O XML DOM Parser
O analisador DOM é um analisador baseado em árvore.
Olhe fração documento XML o seguinte:
<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>
O DOM vê o XML acima como uma estrutura de árvore:
- Nível 1: documento XML
- Elemento raiz:: Nível 2 <from>
- Nível 3: elemento de texto: "Jani"
Instalação
As funções do analisador DOM são parte do núcleo do PHP. Não há nenhuma instalação necessária para utilizar estas funções.
Um arquivo XML
O arquivo XML a seguir serão usados no nosso exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Carga e de saída XML
Queremos inicializar o parser XML, carregar o xml, e sua saída será:
Exemplo
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
?>
A saída do código acima será:
Tove Jani Reminder Don't forget me this weekend!
Se você selecionar "View source" na janela do navegador, você verá o seguinte HTML:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
O exemplo acima cria um DOMDocument a objetos e carrega o XML a partir de "note.xml" para ele.
Em seguida, a saveXML() função coloca o documento XML interno em uma corda, para que possamos saída dele.
Loop através XML
Queremos inicializar o parser XML, carregar o XML, e percorrer todos os elementos do <note> elemento:
Exemplo
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item) {
print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>
A saída do código acima será:
#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =
No exemplo acima, você vê que há nós de texto vazios entre cada elemento.
Quando XML gera, muitas vezes contém espaços em branco entre os nós. O analisador DOM XML trata esses elementos comuns, e se você não está ciente deles, eles às vezes causar problemas.
Se você quiser saber mais sobre o XML DOM, por favor visite nosso tutorial XML .