tutoriais mais recente desenvolvimento web
 

PHP XML DOM Parser


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 .