Jump to content
php.lv forumi

Recommended Posts

Posted

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š :)

Posted
<?
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);
?>

Posted

Nu kaut vai ar explode dalīt un izņemt vajadzīgos stringu fragmentus. ( grādi sākas vienmēr pēc c=" un beidzas pirms ", piemēram )

Posted
<?
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! :)

Posted

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";
}

  • 4 weeks later...
  • 2 weeks later...
Posted

es strādajot uz failiem būtu vienkārši ielasijis failu un while ciklā paņēmis ar if to rindiņu, kur ir vajadzīgais strings.

Apstrādājis kā nu man to vajag un darijis ko vajag man. Itkā elementāri.

×
×
  • Create New...