Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

adamdiogo

[Resolvido] Consulta xml usando php

Recommended Posts

Bom dia a todos,

seguinte, tenho um arquivo xml, exemplo:

 

<?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>
   <id>1</id>
   </personagem>
   <personagem>
   <nome>Manoel Cunha</nome>
   <actor>Manoel</actor>
   <id>1</id>
   </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>

Queria que mostrasse apenas o <nome> de quem o <id> fosse 1;

como se fosse : select nome where id= 1 ; mais ou menos isso;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Queria que mostrasse apenas o <nome> de quem o <id> fosse 1;

como se fosse : select nome where id= 1 ; mais ou menos isso;

 

Use XPath:

 

filmes.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>
			<id>1</id>
		</personagem>
		<personagem>
			<nome>Manoel Cunha</nome>
			<actor>Manoel</actor>
			<id>2</id>
		</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>

 

filmes.php

<?php
$xml = new DOMDocument();
$xml->load( 'filmes.xml' );

$xpath = new DOMXPath( $xml );
$nome = $xpath->query( './/filme/personagens/personagem[id=1]/nome' )->item( 0 ); //perceba o id=1

if ( $nome ) echo $nome->nodeValue;

 

A saída será:

João de Brito

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.