PHP e XML
XML é uma linguagem de marcação que se parece muito com HTML. Um documento XML é um texto simples e contém tags delimitadas por <e>. Existem duas grandes diferenças entre XML e HTML -
- XML não define um conjunto específico de tags que você deve usar.
- XML é extremamente exigente quanto à estrutura de documentos.
XML oferece muito mais liberdade do que HTML. O HTML tem um certo conjunto de tags: as tags <a> </a> circundam um link, o parágrafo inicial <p> e assim por diante. Um documento XML, entretanto, pode usar qualquer marca que você desejar. Coloque as tags <rating> </rating> em torno da classificação de um filme e as tags <height> </height> na altura de alguém. Assim, o XML oferece a opção de usar suas próprias tags.
XML é muito rígido quando se trata de estrutura de documentos. HTML permite que você jogue rápido e solto com algumas tags de abertura e fechamento. Mas este não é o caso do XML.
Lista HTML que não é XML válido
<ul>
<li>Braised Sea Cucumber
<li>Baked Giblets with Salt
<li>Abalone with Marrow and Duck Feet
</ul>
Este não é um documento XML válido porque não há tags </li> de fechamento para corresponder às três tags <li> de abertura. Cada tag aberta em um documento XML deve ser fechada.
Lista HTML que é XML válido
<ul>
<li>Braised Sea Cucumber</li>
<li>Baked Giblets with Salt</li>
<li>Abalone with Marrow and Duck Feet</li>
</ul>
Analisando um documento XML
Novo do PHP 5 SimpleXMLmódulo torna a análise de um documento XML, bem, simples. Ele transforma um documento XML em um objeto que fornece acesso estruturado ao XML.
Para criar um objeto SimpleXML a partir de um documento XML armazenado em uma string, passe a string para simplexml_load_string( ). Ele retorna um objeto SimpleXML.
Exemplo
Experimente o seguinte exemplo -
<html>
<body>
<?php
$note=<<<XML
<note>
<to>Gopal K Verma</to>
<from>Sairamkrishna</from>
<heading>Project submission</heading>
<body>Please see clearly </body>
</note>
XML;
$xml=simplexml_load_string($note);
print_r($xml);
?>
</body>
</html>
Isso produzirá o seguinte resultado -
NOTE - Você pode usar a função simplexml_load_file( filename) se você tiver conteúdo XML em um arquivo.
Para obter um detalhe completo da função de análise XML, verifique a Referência de Função PHP .
Gerando um Documento XML
SimpleXML é bom para analisar documentos XML existentes, mas você não pode usá-lo para criar um novo desde o início.
A maneira mais fácil de gerar um documento XML é construir um array PHP cuja estrutura espelhe a do documento XML e então iterar por meio do array, imprimindo cada elemento com a formatação apropriada.
Exemplo
Experimente o seguinte exemplo -
<?php
$channel = array('title' => "What's For Dinner",
'link' => 'http://menu.example.com/',
'description' => 'Choose what to eat tonight.');
print "<channel>\n";
foreach ($channel as $element => $content) {
print " <$element>";
print htmlentities($content);
print "</$element>\n";
}
print "</channel>";
?>
Isso produzirá o seguinte resultado -
http://menu.example.com/ Choose what to eat tonight.