Aplicativos em PHP/Trabalhando em PHP com/XML
Aspeto
Trabalhando com XML em PHP
[editar | editar código-fonte]Ler Arquivo com XML
Observação: A função simplexml_load_string está apenas disponível no PHP5.
<?php include 'xml_lido.php'; // arquivo a ser lido $xml = simplexml_load_string($xmlstr); echo $xml->filme[0]->comentario; print '<br>'; echo $xml->filme[0]->titulo; print '<br>'; echo $xml->filme[0]->personagens[0]->personagem[0]->nome; print '<br>'; echo $xml->filme[0]->votos[0]; print '<br>'; echo $xml->filme[0]->votos[1]; ?>
// Outro exemplo
<?php //Mostra estrutura do elemento XML $file = "data.xml"; $depth = array(); function startElement($parser, $name, $attrs) { global $depth; for ($i = 0; $i < $depth[$parser]; $i++) { echo " "; } echo "$name\n"; $depth[$parser]++; } function endElement($parser, $name) { global $depth; $depth[$parser]--; } $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); if (!($fp = fopen($file, "r"))) { die("could not open XML input"); } while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } xml_parser_free($xml_parser); ?>
Arquivo a ser lido (xml_lido.php):
<?php $xmlstr = <<<XML <?xml version='1.0' encoding='ISO-8859-1' ?> <filmes> <filme> <titulo>PHP: Iniciando o Parser</titulo> <personagens> <personagem> <nome>João de Brito</nome> <actor>Brito</actor> </personagem> <personagem> <nome>Manoel Cunha</nome> <actor>Manoel</actor> </personagem> </personagens> <comentario> O XML é uma linguagem. Ela é como uma linguagem de programação. Ou uma linguagem de script? Tudo será revelado após ler bem toda a documentação. </comentario> <votos type="thumbs">7</votos> <votos type="stars">5</votos> </filme> </filmes> XML; ?>