Jump to content


Photo

Lendo Xml A Partir De Variavel


  • Faça o login para participar
8 replies to this topic

#1 gonacts

gonacts

    "Agora eu tb tenho um Tux..." =D

  • Usuários
  • 1030 posts
  • Sexo:Não informado

Posted 24/03/2006, 08:59

Pessoal estou precisando fazer o seguinte, estou gerando um xml a partir de uma consulta ao banco e estou armazenando em uma variavel....

$a .= "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
$a .= "<registro>";
.....


ai tenho q pegar esse xml q esta na variavel e le-lo para formatar para exibição...o problema esta nisso....nao to conseguindo ler o xml q esta na var.....tem como fazer isso?!
ou teria q criar um arquivo numa pasta temp do meu server por exemplo?!

abrax
"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 24/03/2006, 09:15

<?php

    // Definindo o cabeçalho da página
    header('Content-type: text/xml');
    
    
    $a  = '<?xml version="1.0" encoding="ISO-8859-1" ?>';
    $a .= '<registro>';
    $a .= ' <nick>Gonacts</nick>';
    $a .= '</registro>';
    
    print $a;
    
?>

Seria isso?
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 gonacts

gonacts

    "Agora eu tb tenho um Tux..." =D

  • Usuários
  • 1030 posts
  • Sexo:Não informado

Posted 24/03/2006, 09:21

nao exatamente....

por exemplo....vc tem esse xml ai.....agora vc ter q percorrer ele para poder ir formatando como ele vai ser exibido(usando as fç do php, tais como xml_parser e cia ltda)....sako?!
"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"

#4 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 24/03/2006, 09:49

Dê uma olhada nos comentários:
http://br2.php.net/xml-parse

Acho que você precisa da função postada no 3º comentário. ;)
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#5 gonacts

gonacts

    "Agora eu tb tenho um Tux..." =D

  • Usuários
  • 1030 posts
  • Sexo:Não informado

Posted 24/03/2006, 14:21

blz cara....

a principio, como nao posso perder mto tempo com isso, eu criei uma pasta tmp no meu server q fica sempre jogando um arquivo e lendo a partir dele.....


uma coisa q pensei q vou precisar seria saber qnt registros tem no meu xml, por exemplo:

<reg>
<produto>
<campo> </campo>
<campo> </campo>
<campo> </campo>
</produto>
<produto>
<campo> </campo>
<campo> </campo>
<campo> </campo>
</produto>
<produto>
<campo> </campo>
<campo> </campo>
<campo> </campo>
</produto>
</reg>

tenho no exemplo acima 3 produtos....
a mlehor forma de se fazer seria com ER?!

já q tu sabe bem, se puder ajuda =D
"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"

#6 rEd nEcK *

rEd nEcK *

    |̲̅<̲̅Θ̲̅>̲̅|

  • Usuários
  • 164 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 24/03/2006, 15:34

Seu trabalho seria 100% polpado se você usasse a lib DOM

http://br.php.net/dom

Muito facil administrar XML com ela... o Wilker postou exemplos muito legais, ensinando a mexer com ela:

Api DOM 1 by Wilker
Api DOM 2 by Wilker

Mais também da para fazer com Regex, não seria dificil não é só pensar um pouquinho

Por ex, para pegar tudo que tiver entre <campo></campo>

<?php

$str='<reg>
<produto>
<campo>a</campo>
<campo>b</campo>
<campo>c</campo>
</produto>
<produto>
<campo>a</campo>
<campo>b</campo>
<campo>c</campo>
</produto>
<produto>
<campo>a</campo>
<campo>b</campo>
<campo>c</campo>
</produto>
</reg>';

preg_match_all('#\<campo\>(.*?)\<\/campo\>#s',$str,$matches);

echo "<pre>";
print_r($matches[1]);
echo "</pre>";

?>


Luiz Fernando
~/ ArrastoMemo.Com - Porque ganhar não é tudo, tem que humilhar o adversário /~

#7 gonacts

gonacts

    "Agora eu tb tenho um Tux..." =D

  • Usuários
  • 1030 posts
  • Sexo:Não informado

Posted 24/03/2006, 16:52

tá, mas o meu problema nao eh pegar os valores e sim saber qnts produtos tem...


sako?!
"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"

#8 helloworld

helloworld

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 24/03/2006, 17:25

Conforme você disse, você irá gerar um xml via php, com alguns dados de uma determinada base.

O que impede de você, ao gerar o xml, acrescentar uma tag totalizando os registros?

<total>XX</total>

#9 gonacts

gonacts

    "Agora eu tb tenho um Tux..." =D

  • Usuários
  • 1030 posts
  • Sexo:Não informado

Posted 24/03/2006, 17:53

Conforme você disse, você irá gerar um xml via php, com alguns dados de uma determinada base.

O que impede de você, ao gerar o xml, acrescentar uma tag totalizando os registros?

<total>XX</total>

ooooooooooolhaaaaaa!!!!!!!!!!!!!!!


mandou bem demais cara!!!!

nem pensei nisso...hauhuahauha


vlw :lol: (dá para quebrar o galho, mas acho meio gambis.....ou não?!) :huh:
"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq