Jump to content
php.lv forumi

php kods informācijas nolasīšanai no xml faila


Recommended Posts

radusies nepieciešamība nolasīt laika ziņas - grādus attiecīgajā pilsētā, piem. mani interesētu tikai Rīga, Liepāja, Valmiera.

kādā no iepriekšējām diskusijām šis jautājums tika pacelts, bet atbildes tā arī nebija, kāds būtu scripts konkrētās infas nolasīšanai no šī XML faila?

adrese: http://www.meteo.lv/templates/weather/weat...77b&trans=1

 

kods:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

<root>
<description>
<lv>
<k ttl="Mākoņains, apmācies ar krusu." />
<kd ttl="Mākoņains, brīžiem skaidrosies ar krusu." />
<kn ttl="Mākoņains, brīžiem skaidrosies ar krusu." />
<la ttl="Apledojums ar lietu." />
<m ttl="Mākoņains, apmācies ar miglu." />
<md ttl="Mākoņains, brīžiem skaidrosies dienā ar miglu." />
<ml ttl="Mākoņains, apmācies." />
<mm1 ttl="Neliels mākoņu daudzums." />
<mm2 ttl="Neliels mākoņu daudzums." />
<mn ttl="Mākoņains, brīžiem skaidrosies ar miglu." />
<msa ttl="Mākoņains, apmācies ar miglu un sarmu." />
<msad ttl="Mākoņains, brīžiem skaidrosies ar miglu un sarmu." />
<msan ttl="Mākoņains, brīžiem skaidrosies ar miglu un sarmu." />
<msd ttl="Mainīgs mākoņu daudzums." />
<msi ttl="Mākoņains, brīžiem skaidrosies." />
<msn ttl="Mākoņains, brīžiem skaidrosies." />
<msma ttl="Mākoņains / apmācies laiks ar  smidzinošu lietu un apledojumu." />
<mlsa ttl="Mākoņains / apmācies laiks, apledojums ar slapju sniegu / lietu un sniegu." />
<msn1 ttl="Mainīgs mākoņu daudzums." />
<n ttl="Apmācies, slapjš sniegs/sniegs ar lietu." />
<nd ttl="Brīžiem skaidrosies, slapjš sniegs/sniegs un lietus." />
<nl ttl="Apmācies, neliels lietus." />
<nln ttl="Mākoņains, brīžiem skaidrosies, neliels lietus." />
<nn ttl="Mākoņains, brīžiem skaidrosies, slapjš sniegs/sniegs un lietus." />
<ns ttl="Apmācies, neliels sniegs." />
<nsld ttl="Neliels lietus, tomēr brīžiem skaidrosies." />
<nssd ttl="Mākoņains, brīžiem skaidrosies, neliels sniegs." />
<nssn ttl="Mākoņains, brīžiem skaidrosies, neliels sniegs." />
<pk ttl="Krusa ar pērkonu/ zibeni." />
<sk ttl="Skaidrs un saulains." />
<skn ttl="Skaidrs laiks." />
<sl ttl="Apmācies, stiprs lietus." />
<sld ttl="Stiprs lietus, brīžiem skaidrosies." />
<sln ttl="Stiprs lietus, brīžiem skaidrosies." />
<sma ttl="Apledojums ar smidzinošu lietu" />
<sp ttl="Sniegs, brīžiem sniegputenis." />
<ss ttl="Apmācies, sniegs." />
<sn ttl="Apmācies, stiprs slapjš sniegs/sniegs ar lietu." />
<ssd ttl="Sniegs, brīžiem skaidrosies." />
<ssn ttl="Sniegs, brīžiem skaidrosies." />
<ts ttl="Apmācies, lietus,  pērkona negaiss." />
<tssd ttl="Lietus, pērkona negaiss, brīžiem skaidrosies." />
<tssn ttl="Lietus, pērkona negaiss, brīžiem skaidrosies." />

</lv>
</description> 

<title lv="Faktiskais laiks" ru="Фактическая погода" en="Actual weather" />
<ms lv="m/s" ru="м/с" en="m/s" />
<info time="n" date="04/01/2009 20:00" dn_ico_visible="0" />
<points>
<RIAI99PA c="-15.9" ico="skn" wind_ms="1/2" wind_angle="Z" visible="1" />
<RIAL99MS c="-10.8" ico="mm2" wind_ms="2/2" wind_angle="DA" visible="1" />
<RIBA99PA c="-15.4" ico="mm2" wind_ms="0" wind_angle="BV" visible="1" />
<RIDM99MS c="-10.6" ico="ns" wind_ms="0/2" wind_angle="BV" visible="1" />
<RIDO99MS c="-9.5" ico="msn" wind_ms="2/4" wind_angle="A" visible="1" />
<GRISKANI c="" ico="" wind_ms="" wind_angle="" visible="0" />
<RIGU99MS c="-10.6" ico="msn1" wind_ms="1/2" wind_angle="DA" visible="1" />
<RIJE99PA c="-15.6" ico="" wind_ms="0" wind_angle="BV" visible="1" />
<RIKO99PA c="-6.7" ico="skn" wind_ms="1/3" wind_angle="D" visible="1" />
<RILP99PA c="-13.0" ico="skn" wind_ms="0/2" wind_angle="BV" visible="1" />
<LUDZA c="" ico="" wind_ms="" wind_angle="" visible="0" />
<RIMADONA c="-11.7" ico="" wind_ms="1/2" wind_angle="A" visible="1" />
<RIME99MS c="" ico="" wind_ms="" wind_angle="" visible="0" />
<RIPR99PA c="-13.2" ico="skn" wind_ms="0" wind_angle="BV" visible="1" />
<RIPA99PA c="-14.4" ico="mm2" wind_ms="2/2" wind_angle="ZR" visible="1" />
<RIRE99MS c="-15.7" ico="" wind_ms="0" wind_angle="BV" visible="1" />
<RIGASLU c="-10.4" ico="mm2" wind_ms="1/2" wind_angle="Z" visible="1" />
<RIRU99PA c="-12.4" ico="skn" wind_ms="0/1" wind_angle="BV" visible="1" />
<RISA99PA c="-14.5" ico="skn" wind_ms="1/1" wind_angle="A" visible="1" />
<RISI99PA c="-18.3" ico="skn" wind_ms="0/1" wind_angle="BV" visible="1" />
<RISE99MS c="-17.5" ico="skn" wind_ms="1/1" wind_angle="R" visible="1" />
<RIST99PA c="-19.3" ico="msn1" wind_ms="1/1" wind_angle="ZR" visible="1" />
<RIVE99PA c="-12.2" ico="skn" wind_ms="2/3" wind_angle="Z" visible="1" />
<RIZI99PA c="-13.8" ico="msn" wind_ms="1/1" wind_angle="ZA" visible="1" />
<RIZO99MS c="-10.4" ico="ml" wind_ms="0/1" wind_angle="BV" visible="1" />
</points>
</root>

 

<RIGASLU c="-10.4" ico="mm2" wind_ms="1/2" wind_angle="Z" visible="1" /> būtu par Rīgu

 

Kāds būtu kods, lai izvadītu:

Rīga -10.4 1/2ms

?

paldies iepriekš :)

Link to post
Share on other sites
<?
header("Content-Type: text/plain; charset=utf-8");
@$data=file_get_contents('http://www.meteo.lv/templates/weather/weather_actual_data.php?170306175545dded76ca77b&trans=1');
if(empty($data)){
	exit;
}
preg_match('|<RIGASLU c="(.*)" ico="(.*)" wind_ms="(.*)" wind_angle="(.*)" visible="(.*)" />|i',$data,$out);
print_r($out);
?>

Link to post
Share on other sites
<?
header("Content-Type: text/plain; charset=utf-8");
@$data=file_get_contents('http://www.meteo.lv/templates/weather/weather_actual_data.php?170306175545dded76ca77b&trans=1');
if(empty($data)){
	exit;
}
preg_match('|<RIGASLU c="(.*)" ico="(.*)" wind_ms="(.*)" wind_angle="(.*)" visible="(.*)" />|i',$data,$out);
print_r($out);
?>

šausmīgs paldies, viss ripo! :)

Link to post
Share on other sites

jautājums jau bija kā lasīt no xml, nevis kā ar regex atrast tekstā.

<php
header("Content-Type: text/plain; charset=utf-8");
$xml = new SimpleXMLElement(file_get_contents(
'http://www.meteo.lv/templates/weather/weather_actual_data.php?170306175545dded76ca77b&trans=1'
));
foreach($xml->xpath('/root/points/RIGASLU') as $result) {
foreach($result->attributes() as $key=>$value) {
	echo $key .':'.$value . "\n";
}
echo "------\n";
}

Link to post
Share on other sites
  • 4 weeks later...
  • 2 weeks later...
×
×
  • Create New...