Roberts.R Posted January 25, 2010 Report Share Posted January 25, 2010 (edited) Labrīt! Esmu smagi nočakarējies, un tā patās neesmu nācis skaidrībā, kā ta īsti strādā tas XML :) Tātad, cik tālu es esmu ticis... <?$xml = ' <test> <ieraksts>Kaut kāds ieraksts</ieraksts> <ieraksts>Cits ieraksts</ieraksts> </test> '; ?> <?php $obj = simplexml_load_string($xml); print_r($obj); ?> Kad izmantoju šādu variantu, tad it kā viss parādās, kā tam vajadzētu parādīties SimpleXMLElement Object ( [ieraksts] => Array ( [0] => Kaut kāds ieraksts [1] => Cits ieraksts ) ) Bet, kad piemēram pamainu rindiņu: $obj = simplexml_load_string($xml); uz $obj = simplexml_load_file('test.xml'); kur, test.xml fails satur, (un atrodas tajā paša mapītē, kur atrodas php fails) <?xml version="1.0" encoding="UTF-8"?> <test> <ieraksts>Kaut kāds ieraksts</ieraksts> <ieraksts>Cits ieraksts</ieraksts> </test> saņemu pretī ko šādu: Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "test.xml" in C:\web\htdocs\ms\page\sidebar.php on line 27 Es pilnīgi nespēju saprast, kas notiek, un kāpēc tā notiek. Okey, jebkurā gadījumā, man ir uzdevums :) Tātad, reku ir xml fails: http://informer.gismeteo.ru/xml/26240_1.xml , kurš man ir, protams, jānolasa un no tā man ir jāizdabū ārā info. Par to, kā tas notiekas, esmu iebraucis... Bet tagad galvenais ir saprast, kā notiekas faila ielādēšana. Ja jūs varat uzrakstīt kaut pāris rindiņās, kā pareizi tas notiek, tas būtu baigi forši :) Help here :) Paldies! --- Okey, pagaidām pats tiku tik tālu, ka ar šādu paņēmienu: $xml = simplexml_load_file('http://informer.gismeteo.ru/xml/26240_1.xml'); print_r($xml); es dabonu ārā visu smuki arrayā. Bet tad, kad es gribu piemēram dabūt ārā kaut ko atsevišķu, kā piemēram, atribūtu day: $xml = simplexml_load_file('http://informer.gismeteo.ru/xml/26240_1.xml'); $test = $xml->MMWEATHER->REPORT->TOWN->FORECAST->attributes()->day; echo $test; Tad pretī saņemu šito: Fatal error: Call to a member function attributes() on a non-object in C:\web\htdocs\ms\page\sidebar.php on line 20 Diemžēl es nespēju saprast, ko šis fatal error mesidž grib man pateikt... Paskaidrosiet? Edited January 25, 2010 by Roberts.R Quote Link to comment Share on other sites More sharing options...
Kaklz Posted January 25, 2010 Report Share Posted January 25, 2010 <?php $xml = simplexml_load_file('http://informer.gismeteo.ru/xml/26240_1.xml'); print_r($xml -> REPORT->TOWN->FORECAST->attributes()->day); MWEATHER jau ir root elements, kas ir $xml, attiecīgi tev viņš vēlreiz nav jāaiztiek. Izmet to pa vidu ārā un viss ripo :) Quote Link to comment Share on other sites More sharing options...
Roberts.R Posted January 25, 2010 Author Report Share Posted January 25, 2010 (edited) Ej dir... :D Es jūtos diezgan stulbi :D:D Apmēram 4as stundas gar šito krāmējos, un viss tomēr atrisināms tik elementārā ceļā :D Paldies! :) --- Vēl viens jautājums tomēr par šīm te pašām laika ziņām. Tātad, datus iznest man izdevās, bet tagad piemēram, kā var uztaisīt, lai rādās arī bildīte ar saulīti, mākonīti vai mēnestiņu? Oke, to principā var noteikt pēc pulksteņa laika, bet ja tomēr ir sniegs, lietus vai skaidrs laiks? Visticamāk, ka tas notiek skatoties pēc šīs rindiņas: <PHENOMENA cloudiness="0" precipitation="10" rpower="0" spower="0"/> Tad sanāk ka pašam, kā teikt, ir jāsačinī ifi utt, lai dabūtu ārā to, ko vajag? Edited January 25, 2010 by Roberts.R Quote Link to comment Share on other sites More sharing options...
briedis Posted January 25, 2010 Report Share Posted January 25, 2010 Ar if'iem, protams :) Quote Link to comment Share on other sites More sharing options...
edi Posted July 23, 2010 Report Share Posted July 23, 2010 <TOWN index="26422" sname="%D0%E8%E3%E0" latitude="56" longitude="38"> kā atkodēt sname? Quote Link to comment Share on other sites More sharing options...
Kavacky Posted July 23, 2010 Report Share Posted July 23, 2010 echo iconv('WINDOWS-1251', 'UTF-8', urldecode('%D0%E8%E3%E0')); Quote Link to comment Share on other sites More sharing options...
edi Posted July 25, 2010 Report Share Posted July 25, 2010 un piemeram ka te http://informer.gismeteo.ru/xml/26422_1.xml ir dati par sodienu un ritdienas ritu,dienu un vakaru ka lai dabun tos lauka? Quote Link to comment Share on other sites More sharing options...
Kavacky Posted July 26, 2010 Report Share Posted July 26, 2010 Tur dati ir tikai par vienu dienu. Datus izdabūt var, izparsējot XML. Quote Link to comment Share on other sites More sharing options...
edi Posted July 26, 2010 Report Share Posted July 26, 2010 <MMWEATHER> − <REPORT type="frc3"> − <TOWN index="26422" sname="%D0%E8%E3%E0" latitude="56" longitude="38"> − // sodienas diena <FORECAST day="26" month="07" year="2010" hour="14" tod="2" predict="0" weekday="2"> <PHENOMENA cloudiness="2" precipitation="10" rpower="0" spower="0"/> <PRESSURE max="756" min="754"/> <TEMPERATURE max="31" min="29"/> <WIND min="1" max="3" direction="3"/> <RELWET max="45" min="43"/> <HEAT min="27" max="29"/> </FORECAST> − //sodienas vakars <FORECAST day="26" month="07" year="2010" hour="20" tod="3" predict="0" weekday="2"> <PHENOMENA cloudiness="3" precipitation="10" rpower="0" spower="0"/> <PRESSURE max="756" min="754"/> <TEMPERATURE max="23" min="21"/> <WIND min="2" max="4" direction="6"/> <RELWET max="76" min="74"/> <HEAT min="19" max="21"/> </FORECAST> − // ritdienas nakts <FORECAST day="27" month="07" year="2010" hour="02" tod="0" predict="0" weekday="3"> <PHENOMENA cloudiness="0" precipitation="10" rpower="0" spower="0"/> <PRESSURE max="757" min="755"/> <TEMPERATURE max="18" min="16"/> <WIND min="0" max="2" direction="4"/> <RELWET max="93" min="91"/> <HEAT min="16" max="18"/> </FORECAST> − // ritdienas rits <FORECAST day="27" month="07" year="2010" hour="08" tod="1" predict="0" weekday="3"> <PHENOMENA cloudiness="1" precipitation="10" rpower="0" spower="0"/> <PRESSURE max="759" min="757"/> <TEMPERATURE max="24" min="22"/> <WIND min="0" max="2" direction="7"/> <RELWET max="71" min="69"/> <HEAT min="21" max="23"/> </FORECAST> </TOWN> </REPORT> </MMWEATHER> tad sanak, ka var dabut tikai info no sodienas? Quote Link to comment Share on other sites More sharing options...
Kavacky Posted July 26, 2010 Report Share Posted July 26, 2010 Ne gluži... tur rāda 4 tuvākos periodus, ik pa 6 stundām. Tāpēc tagad ir puse jau rītdienā. Quote Link to comment Share on other sites More sharing options...
edi Posted July 26, 2010 Report Share Posted July 26, 2010 Ne gluži... tur rāda 4 tuvākos periodus, ik pa 6 stundām. Tāpēc tagad ir puse jau rītdienā. nu ja, bet ka lai dabun tos nakosos 3 periodus? :D Quote Link to comment Share on other sites More sharing options...
Kavacky Posted July 26, 2010 Report Share Posted July 26, 2010 We have a serious anencephaly problem here. Quote Link to comment Share on other sites More sharing options...
edi Posted July 27, 2010 Report Share Posted July 27, 2010 We have a serious anencephaly problem here. nu ne jau man ir tas problemas. jautajums bija ka to lai izdara. tu atbildeji izparsejot xml failu. vareji iedot kadu piemeru ka lai dabun nakoso periodu )) tikpat labi var atbildet ar "ej iemacies php" vai kaut ko tadu :D Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted July 27, 2010 Report Share Posted July 27, 2010 (edited) ka lai dabun nakoso periodu )) .... tikpat labi var atbildet ar "ej iemacies php" vai kaut ko tadu :D $wh = simplexml_load_file('http://informer.gismeteo.ru/xml/26422_1.xml'); $skait=0; foreach ($wh->REPORT->TOWN->FORECAST as $fc) { ##### temp parbaude ######3 $t_min=$fc->TEMPERATURE["min"]; if ($t_min< '-60' OR $t_min > '60') { $t_min='??'; } $t_max=$fc->TEMPERATURE["max"]; if ($t_max< '-60' OR $t_max > '60') { $t_max='??'; } $tempretura_y[$skait]=$t_min.' - '.$t_max.' C°'; ################# $tempretura[$skait]=$tempretura_y[$skait]; $skait++; } Un buus tev atseviskjis masivs ar tempreturu ... parejos nu gan pats liec ... UN MACIES PHP ... kaa no MASIVA dabuut araa datus ... pamatu pamats.. foreach()... Edited July 27, 2010 by Grey_Wolf Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.