Converta uma string XML bem formada em um objeto SimpleXMLElement e produza as chaves e os elementos do objeto:
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Lembrete</heading><body>Não se esqueça de mim neste fim de semana!</ corpo></note>XML;$xml=simplexml_load_string($note);print_r($xml);?>A função simplexml_load_string() converte uma string XML bem formada em um objeto SimpleXMLElement.
simplexml_load_string( dados,nomedaclasse,opções,ns,é_prefixo );
parâmetro | descrever |
---|---|
dados | Obrigatório. Especifica uma sequência XML bem formada. |
nome da classe | Opcional. Especifica a classe do novo objeto. |
opções | Opcional. Especifica parâmetros Libxml adicionais. Defina especificando a opção como 1 ou 0 (TRUE ou FALSE, como LIBXML_NOBLANKS(1)). Valores possíveis: LIBXML_COMPACT - ativa uma configuração otimizada de nós (pode acelerar aplicativos) LIBXML_DTDATTR - Definir atributos DTD padrão LIBXML_DTDLOAD - carrega subconjuntos adicionais LIBXML_DTDVALID – Verifique a validade do DTD LIBXML_NOBLANKS - remove nós vazios LIBXML_NOCDATA - Defina CDATA para um nó de texto LIBXML_NOEMPTYTAG - expande tags vazias (por exemplo, <br/> para <br></br>), válido apenas nas funções DOMDocument->save() e DOMDocument->saveXML() LIBXML_NOENT - entidade substituta LIBXML_NOERROR – Não exibe relatórios de erros LIBXML_NONET – Para de acessar a rede enquanto carrega o documento LIBXML_NOWARNING – Não exibir relatórios de aviso LIBXML_NOXMLDECL - descarta declarações XML ao armazenar um documento LIBXML_NSCLEAN - Remover declarações de namespace redundantes LIBXML_PARSEHUGE – Define o sinalizador XML_PARSE_HUGE, que relaxa quaisquer restrições impostas pelo analisador. Isso afetará coisas como a profundidade máxima do documento e os limites de tamanho dos nós de texto. LIBXML_XINCLUDE - use XInclude em vez disso LIBXML_ERR_ERROR – Obtenha erros corrigíveis LIBXML_ERR_FATAL – Obtém erro fatal LIBXML_ERR_NONE - não obtém erros LIBXML_ERR_WARNING – Receba avisos simples LIBXML_VERSION – Obtenha a versão da libxml (por exemplo, 20605 ou 20617) LIBXML_DOTTED_VERSION - Obtenha a versão pontilhada da libxml (por exemplo, 2.6.5 ou 2.6.17) |
ns | Opcional. Especifica um prefixo de namespace ou URI. |
é_prefixo | Opcional. Especifica um valor booleano. TRUE se ns for um prefixo, FALSE se ns for um URI. O padrão é FALSO. |
Valor de retorno: | Retorna um objeto SimpleXMLElement se for bem-sucedido ou FALSE se falhar. |
---|---|
Versão PHP: | 5+ |
Dados de saída para cada elemento em uma string XML:
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Lembrete</heading><body>Não se esqueça de mim neste fim de semana!</ body></note>XML;$xml=simplexml_load_string($note);echo $xml->to "<br>";echo $xml->from "<br>";echo. $xml->título . "<br>";echo $xml->corpo;?>Produza o nome do elemento e os dados de cada nó filho em uma string XML:
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Lembrete</heading><body>Não se esqueça de mim neste fim de semana!</ body></note>XML;$xml=simplexml_load_string($note);echo $xml->getName() . "<br>";foreach($xml->children() as $child) { echo $filho->getNome() . ": " .filho . "<br>";