Ir para conteúdo

POWERED BY:

Arquivado

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

Leonardo Machado Moreira

Ler XML com Atributos

Recommended Posts

Encontrei Este codigo

 

$xml = simplexml_load_file("http://localhost/Le%20XML/EstadosLinhas.xml") or die ("Unable to load XML string!");
echo $xml->estado["nome"];
echo $xml->estado["linhas"];

Porém alguem sabe como colocar isso dentro de um loop, pois assim ele pega apenas uma linha do xml, como faço para fazer um loop utilizando este codigo??

Compartilhar este post


Link para o post
Compartilhar em outros sites

você diz em

 

foreach($var as $key => $value)

$return[$key] = object2array($value);

 

 

???

 

 

eu tentei este codigo e não funcionou ??

 

ele nao da nenhuma mensagem mas fica em branco

 

eu fiz

 

$xml = simplexml_load_file("http://localhost/Le%20XML/EstadosLinhas.xml") or die ("Unable to load XML string!");

foreach($xml as $key => $value)

echo $value->estado["nome"];

 

 

se é que isto está certo

 

 

 

$xml = simplexml_load_file("http://localhost/Le%20XML/EstadosLinhas.xml") or die ("Unable to load XML string!");
foreach($xml as $estado)
{
	echo 'Estado: '.$estado["nome"].' Linha: '.$estado["linhas"].'<br />';
}

Consegui assim , mas ele não reconhece acentos, acho que o unico jeito de reconhecer acentos é atravez do parse não é??

Compartilhar este post


Link para o post
Compartilhar em outros sites

function Abre($parser, $elemento, $attrs)
		{
			echo $elemento;
		}
		
		function Dados($parser, $dados)
		{
			echo $dados;
		}
		
		function Fecha($parser, $elemento)
		{
		
		}
		
		$parser = xml_parser_create("ISO-8859-1");
		xml_set_element_handler($parser, "Abre", "Fecha");
		xml_set_character_data_handler($parser, "Dados");
		xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
		xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 0);
		
		$ponteiro = fopen("http://localhost/Le%20XML/EstadosLinhas.xml", "r");
		
		while($dados = fread($ponteiro, 4096)) 
		{
			xml_parse($parser, $dados);
		}
		
		xml_parser_free($parser);

Eu dei uma olhada na net e encontrei um codigo parecido com este , porém na net eu nao acho como tirar os atributos atravez desta rotina,,

o php fala que $attrs é um vetor, porém nao consigo dar um echo nele com algum index,, como tirar os atributos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal!

 

 

Esto tentando isso também...

 

Dentro de um xml tenho a seguinte linha:

 

<estimatedTotalResultsCount>18300</estimatedTotalResultsCount>

Eu queria retornar apenas o valor 18300, alguém sabe como fazer?

 

Estou tentando o seguinte código com uma xml resumida e dentro do arquivo php mas precisaria usar de uma xml externa:

 

<?php

$string = <<<XML
<?xml version='1.0'?> 
<document>
<estimatedTotalResultsCount>18300</estimatedTotalResultsCount>
</document>
XML;

$xml = simplexml_load_string($string);
echo "<strong>$string</strong>";
?>

 

Está retornando o 18300 mas preciso pegar diretamente do arquivo xml: http://www.liquidandotudo.com/teste.xml

 

Alguém dá a dica? Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só fazer isso:

 

$xml = simplexml_load_file('http://www.liquidandotudo.com/teste.xml');
echo $xml->GoogleSearchResult->estimatedTotalResultsCount;

 

Funcionou perfeitamente!

 

E em 2 linhas http://forum.imasters.com.br/public/style_emoticons/default/natal_w00t.gif

 

Só pra explicar e compartilhar com os srs.: Estou usando isso pra saber a quantidade de resultados numa pesquisa no google. Consegui a xml da busca (termo: site:liquidandotudo.com) neste site: http://www.dentedreality.com.au/xoomle/search/

 

É só fazer a sua busca e ele retorna um xml, você pode baixar o script e usar no seu server tb...

 

 

Muito obrigado, Fabyo e Leonardo!

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.