babu 0 Denunciar post Postado Abril 11, 2008 Salve galera, Tenho um código XML de previsão de tempo e quero colocá-lo em minha página PHP, alguém pode me ajudar nesta tarefa? arquivo XML <weather> − <nacional> − <estado nome="BA"> − <cidade nome="Alcobaca"> − <praia nome="Praia Alcobaça"> <dia1 data="09/04" semana="Quarta" tmin="24ºC" tmax="30ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="ENE" velvento="15km/h" iuv="11" nascente="05h47m" poente="17h29m" umidade="68%" altonda=" 0.8m às 6h" dironda="E "/> <dia2 data="10/04" semana="Quinta" tmin="23ºC" tmax="30ºC" icone="nb" volume="0mm" condicao="Nublado" dirvento="ESE" velvento="11km/h" iuv="10" nascente="05h47m" poente="17h28m" umidade="67%" altonda=" 0.8m às 6h" dironda="E "/> <dia3 data="11/04" semana="Sexta" tmin="24ºC" tmax="30ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="E" velvento="13km/h" iuv="10" nascente="05h47m" poente="17h28m" umidade="70%" altonda=" 0.8m às 6h" dironda="ESE"/> <dia4 data="12/04" semana="Sábado" tmin="23ºC" tmax="30ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="NE" velvento="12km/h" iuv="10" nascente="05h47m" poente="17h27m" umidade="82%" altonda=" 0.8m às 6h" dironda="SE "/> <dia5 data="13/04" semana="Domingo" tmin="24ºC" tmax="30ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="NE" velvento="14km/h" iuv="11" nascente="05h47m" poente="17h26m" umidade="81%" altonda=" 0.8m às 6h" dironda="ESE"/> <dia6 data="14/04" semana="Segunda" tmin="24ºC" tmax="31ºC" icone="pc" volume="1mm" condicao="Pancadas" dirvento="NE" velvento="15km/h" iuv="11" nascente="05h48m" poente="17h25m" umidade="81%" altonda=" 0.7m às 6h" dironda="E "/> <dia7 data="15/04" semana="Terça" tmin="25ºC" tmax="33ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="NNE" velvento="5km/h" iuv="11" nascente="05h48m" poente="17h25m" umidade="80%" altonda=" 0.7m às 6h" dironda="E "/> </praia> </cidade> </estado> </weather> ALgúem pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
babu 0 Denunciar post Postado Abril 11, 2008 Consegui montar a programação, sendo que nao aparece as informações www.kitebahia.com/previsao INDEX.PHP <?php class le_xml{ var $parser; function le_xml() { $this->parser = xml_parser_create(); xml_set_element_handler($this->parser, "tags_ini", "tags_fim"); xml_set_character_data_handler($this->parser, "dados"); } function abre_xml($url){ // Função que pega a tag aberta xml <> function tags_ini($parser, $param) { switch($param) { case "CIDADE": echo "<table width=100%>"; echo "<tr bgcolor=#f7f7f7><td align=left>"; echo "<font face=Arial size=2><b>CIDADE:</b> "; break; case "PRAIA": echo "<table width=100%>"; echo "<tr bgcolor=#f7f7f7><td align=left>"; echo "<font face=Arial size=2><b>PRAIA:</b> "; break; case "DIA1": echo "<table width=100%>"; echo "<tr bgcolor=#f7f7f7><td align=left>"; echo "<font face=Arial size=2><b>Dia:</b> "; echo "<font face=Arial size=2><b>Vento:</b> "; echo "<font face=Arial size=2><b>Onda:</b> "; break; case "DIA2": echo "<table width=100%>"; echo "<tr bgcolor=#f7f7f7><td align=left>"; echo "<font face=Arial size=2><b>Dia:</b> "; echo "<font face=Arial size=2><b>Vento:</b> "; echo "<font face=Arial size=2><b>Onda:</b> "; break; }//fim switch }//fim função tags_ini //função que traz os dados do xml function dados($parser, $dados) { echo $dados; } //Função que pega tag fechada xml </> function tags_fim($parser, $param) { echo "</b></font></td></tr></table>"; }//fim da funçao tags_fim //Abre a o aquivo na url para leitura if (!($ponteiro = fopen($url, "r"))) { die("Não foi possivel abrir o xml"); } else { //Loop de leitura do xml while ($dados2 = fread($ponteiro, 4096)) { xml_parse($this->parser, $dados2); } //Limpa o parser da memoria xml_parser_free($this->parser); }//fim if de abertura do xml }//Fim função abre_xml }//Fim da classe le xml //abre xml passando seu endereço $xml_parser = new le_xml(); $xml_parser->abre_xml("agenda.xml"); ?> AGENDA.XML <?xml version="1.0" encoding="ISO-8859-1" ?> <weather> <nacional> <estado nome="BA"> <cidade nome="Alcobaca"> <praia nome="Praia Alcobaça"> <dia1 data="09/04" semana="Quarta" tmin="24ºC" tmax="30ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="ENE" velvento="15km/h" iuv="11" nascente="05h47m" poente="17h29m" umidade="68%" altonda=" 0.8m às 6h" dironda="E "/> <dia2 data="10/04" semana="Quinta" tmin="23ºC" tmax="30ºC" icone="nb" volume="0mm" condicao="Nublado" dirvento="ESE" velvento="11km/h" iuv="10" nascente="05h47m" poente="17h28m" umidade="67%" altonda=" 0.8m às 6h" dironda="E "/> <dia3 data="11/04" semana="Sexta" tmin="24ºC" tmax="30ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="E" velvento="13km/h" iuv="10" nascente="05h47m" poente="17h28m" umidade="70%" altonda=" 0.8m às 6h" dironda="ESE"/> <dia4 data="12/04" semana="Sábado" tmin="23ºC" tmax="30ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="NE" velvento="12km/h" iuv="10" nascente="05h47m" poente="17h27m" umidade="82%" altonda=" 0.8m às 6h" dironda="SE "/> <dia5 data="13/04" semana="Domingo" tmin="24ºC" tmax="30ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="NE" velvento="14km/h" iuv="11" nascente="05h47m" poente="17h26m" umidade="81%" altonda=" 0.8m às 6h" dironda="ESE"/> <dia6 data="14/04" semana="Segunda" tmin="24ºC" tmax="31ºC" icone="pc" volume="1mm" condicao="Pancadas" dirvento="NE" velvento="15km/h" iuv="11" nascente="05h48m" poente="17h25m" umidade="81%" altonda=" 0.7m às 6h" dironda="E "/> <dia7 data="15/04" semana="Terça" tmin="25ºC" tmax="33ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="NNE" velvento="5km/h" iuv="11" nascente="05h48m" poente="17h25m" umidade="80%" altonda=" 0.7m às 6h" dironda="E "/> </praia> </cidade> </estado> <estado nome="BA"> <cidade nome="Valença"> <praia nome="Praia da Ponta do Curral"> <dia1 data="09/04" semana="Quarta" tmin="22ºC" tmax="31ºC" icone="pi" volume="2mm" condicao="Pancadas Isoladas" dirvento="ESE" velvento="18km/h" iuv="11" nascente="05h44m" poente="17h31m" umidade="54%" altonda=" 0.5m às 6h" dironda="ESE"/> <dia2 data="10/04" semana="Quinta" tmin="20ºC" tmax="29ºC" icone="pi" volume="2mm" condicao="Pancadas Isoladas" dirvento="ESE" velvento="12km/h" iuv="11" nascente="05h44m" poente="17h30m" umidade="66%" altonda=" 0.5m às 6h" dironda="ESE"/> <dia3 data="11/04" semana="Sexta" tmin="21ºC" tmax="29ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="ESE" velvento="10km/h" iuv="11" nascente="05h44m" poente="17h30m" umidade="85%" altonda=" 0.5m às 6h" dironda="ESE"/> <dia4 data="12/04" semana="Sábado" tmin="20ºC" tmax="30ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="--" velvento="--" iuv="11" nascente="05h44m" poente="17h29m" umidade="--" altonda=" 0.5m às 6h" dironda="ESE"/> <dia5 data="13/04" semana="Domingo" tmin="20ºC" tmax="29ºC" icone="pi" volume="3mm" condicao="Pancadas Isoladas" dirvento="E" velvento="10km/h" iuv="11" nascente="05h44m" poente="17h29m" umidade="85%" altonda=" 0.5m às 6h" dironda="ESE"/> <dia6 data="14/04" semana="Segunda" tmin="21ºC" tmax="31ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="E" velvento="11km/h" iuv="12" nascente="05h44m" poente="17h28m" umidade="83%" altonda=" 0.5m às 6h" dironda="ESE"/> <dia7 data="15/04" semana="Terça" tmin="19ºC" tmax="33ºC" icone="pn" volume="0mm" condicao="Poucas Nuvens" dirvento="E" velvento="7km/h" iuv="12" nascente="05h44m" poente="17h27m" umidade="75%" altonda=" 0.5m às 6h" dironda="ESE"/> </praia> </cidade> </estado> </nacional> </weather> Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Abril 15, 2008 Não precisa usar SAX, o PHP5 tem ferramentas mais adequadas para o que você pretende fazer. Usa a SimpleXML. http://br.php.net/manual/pt_BR/book.simplexml.php Compartilhar este post Link para o post Compartilhar em outros sites