Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
bom dia.
tenho um xml e preciso lê-lo e verificar duas tags. por exemplo if tag = "cliente" então pego valor. se tag = "endereco" pego o valor e assim por diante.
estou utlizando simplexml_load_file e está me dando o seguinte erro.
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "teste.xml" in C:\wamp\www\ler_xml.php on line 3
o que pode ser?
xml simples
<produto>
<titulo> NOME </titulo>
<imagem> Imagem </imagem>
<descricao>Descrição </descricao>
<preco> Preço </preco>
</produto>
codigo php
<?php
$xml = simplexml_load_file('teste.xml') )
foreach( $xml as $produto )
{
echo $produto->titulo;
}
?>Tenta assim:
<?php
$xml = simplexml_load_file('teste.xml');
foreach ($xml as $produto)
{
/*
foreach ($produto as $key => $value)
{
echo $key . " = " . $value . "<br />";
}
*/
echo $produto->titulo . "<br />";
}mesmo erro.
Repara que nesta linha tens um ")" a mais. É capaz de estar aí o problema, visto que o meu exemplo funcionou como é suposto:
$xml = simplexml_load_file('teste.xml') )
Já agora, a estrutura do XML que usei foi esta:
<produtos>
<produto>
<titulo>NOME1</titulo>
<imagem>Imagem</imagem>
<descricao>Descricao</descricao>
<preco>Preco</preco>
</produto>
<produto>
<titulo>NOME2</titulo>
<imagem>Imagem</imagem>
<descricao>Descricao</descricao>
<preco>Preco</preco>
</produto>
</produtos>esse erro costuma aparecer quando usa file_get_content() em servidor gratuito porque na maioria deles essa função tá desabilitada, não sei se é o caso mas já verificou se a função simplexml_load_file() tá habilitada no servidor?
Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen para mais detalhes.
Podes mostrar um excerto de código relevante para o erro?
Já agora, vê se isto ajuda.