PHP SimpleXML lida com as tarefas XML mais comuns, deixando o resto para outras extensões.
SimpleXML é um novo recurso do PHP 5.
A extensão SimpleXML fornece uma maneira simples de obter o nome e o texto dos elementos XML.
Comparado aos analisadores DOM ou Expat, o SimpleXML pode ler dados de texto de elementos XML com apenas algumas linhas de código.
SimpleXML pode converter documentos XML (ou strings XML) em objetos, como:
O elemento é convertido em uma única propriedade de um objeto SimpleXMLElement. Quando existem vários elementos no mesmo nível, eles são colocados em uma matriz.
As propriedades são acessadas por meio de um array associativo, onde o índice corresponde ao nome da propriedade.
O texto dentro do elemento é convertido em uma string. Se um elemento tiver vários nós de texto, eles serão organizados na ordem em que foram encontrados.
SimpleXML é muito rápido de usar ao executar tarefas básicas como:
Ler/extrair dados de arquivos/strings XML
Editar nó ou atributo de texto
Entretanto, ao lidar com XML avançado, como namespaces, é melhor usar o analisador Expat ou o XML DOM.
A partir do PHP 5, as funções SimpleXML fazem parte do núcleo do PHP. Nenhuma instalação é necessária para usar essas funções.
Suponha que temos o seguinte arquivo XML, “note.xml”:
<? xml versão = " 1.0 " codificação = " ISO-8859-1 " ?> <nota> < para > Tove </ para > < de > Jani </ de > < título > Lembrete </ título > < body > Não se esqueça de mim neste fim de semana </ body > </ nota >Agora queremos gerar informações diferentes do arquivo XML acima:
Produza as chaves e os elementos da variável $xml (que é um objeto SimpleXMLElement):
<?php $xml = simplexml_load_file ( " nota.xml " ) ; print_r ( $ xml ) ;O código acima irá gerar:
Objeto SimpleXMLElement ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Não se esqueça de mim neste fim de semana! )
Dados de saída para cada elemento em um arquivo XML:
<?php $ xml = simplexml_load_file ( " nota.xml " ) ; $ xml - > para . $xml - > de . " <br> " ; $ xml - > cabeçalho . $xml - > corpo ;O código acima irá gerar:
ToveJaniReminderNão se esqueça de mim neste fim de semana!
Produza o nome do elemento e os dados para cada nó filho:
<?php $ xml = simplexml_load_file ( " nota.xml " ) ; $ xml - > getNome ( ) . " <br> " ;como $criança ) { eco $ filho - > getNome ( ) " : " .?>O código acima irá gerar:
noteto: Tovefrom: Janiheading: Lembrete: Não se esqueça de mim neste fim de semana!
Para saber mais sobre as funções do PHP SimpleXML, visite nosso manual de referência do PHP SimpleXML.