Aplicativos em PHP/Trabalhando em PHP com/XML
Aparência
Trabalhando com XML em PHP
[editar | editar código]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; ?>