Ищу Xml парсер погоды с gismeteo.

Тема в разделе "Open Source", создана пользователем yakutyanin, 19 фев 2012.

Модераторы: Amazko, Aste
  1. yakutyanin

    yakutyanin Постоялец

    Регистр.:
    5 янв 2009
    Сообщения:
    74
    Симпатии:
    11
    Ищу скрипт xml парсера погоды с сайта gismeteo, но не c сайта Перейти по ссылке доступ к ней даётся после бесплатной регистарции на их сайте и получения персонального доступа. К стати бесплатно дают погоду на 3 дня в xml ввиде, но нигде не могу найти под неё xml парсер.

    Вот в таком ввиде даётся xml
    Код:
    <weather>
    <location id="4009" name="Белая Гора" name_r="в Белой Горе" tzone="660" cur_time="2012-02-19T23:33:00">
    <day date="2012-02-20" risem="557" setm="1060" durm="503" tmin="-36" tmax="-32" pmin="764" pmax="764" wsmin="1" wsmax="1" hummin="76" hummax="81" cl="3" pt="2" pr="1" ts="0" icon="d.sun.c4.s1" descr="Пасмурно, небольшой снег" p="764" ws="1" wd="8" hum="77" grademax="2">
    <forecast valid="2012-02-20T02:00:00" tod="0">
    <values t="-35" p="764" ws="1" wd="8" hum="76" hi="-39" cl="3" pt="0" pr="0" ts="0" icon="n.moon.c4" descr="Пасмурно" grade="2"/>
    </forecast>
    <forecast valid="2012-02-20T08:00:00" tod="1">
    <values t="-36" p="764" ws="1" wd="8" hum="76" hi="-38" cl="3" pt="2" pr="1" ts="0" icon="n.moon.c4.s1" descr="Пасмурно, небольшой снег" grade="1"/>
    </forecast>
    <forecast valid="2012-02-20T14:00:00" tod="2">
    <values t="-33" p="764" ws="1" wd="8" hum="77" hi="-33" cl="3" pt="0" pr="0" ts="0" icon="d.sun.c4" descr="Пасмурно" grade="1"/>
    </forecast>
    <forecast valid="2012-02-20T20:00:00" tod="3">
    <values t="-34" p="764" ws="1" wd="1" hum="80" hi="-36" cl="3" pt="0" pr="0" ts="0" icon="n.moon.c4" descr="Пасмурно" grade="2"/>
    </forecast>
    </day>
    <day date="2012-02-21" risem="553" setm="1064" durm="511" tmin="-38" tmax="-30" pmin="763" pmax="764" wsmin="1" wsmax="2" hummin="76" hummax="79" cl="3" pt="2" pr="1" ts="0" icon="d.sun.c4.s1" descr="Пасмурно, небольшой снег" p="764" ws="2" wd="8" hum="77" grademax="2">
    <forecast valid="2012-02-21T02:00:00" tod="0">
    <values t="-37" p="764" ws="2" wd="8" hum="79" hi="-41" cl="3" pt="0" pr="0" ts="0" icon="n.moon.c4" descr="Пасмурно" grade="1"/>
    </forecast>
    <forecast valid="2012-02-21T08:00:00" tod="1">
    <values t="-38" p="764" ws="2" wd="8" hum="78" hi="-42" cl="3" pt="0" pr="0" ts="0" icon="n.moon.c4" descr="Пасмурно" grade="1"/>
    </forecast>
    <forecast valid="2012-02-21T14:00:00" tod="2">
    <values t="-31" p="764" ws="2" wd="8" hum="77" hi="-34" cl="3" pt="0" pr="0" ts="0" icon="d.sun.c4" descr="Пасмурно" grade="1"/>
    </forecast>
    <forecast valid="2012-02-21T20:00:00" tod="3">
    <values t="-30" p="763" ws="2" wd="1" hum="78" hi="-34" cl="3" pt="2" pr="1" ts="0" icon="n.moon.c4.s1" descr="Пасмурно, небольшой снег" grade="2"/>
    </forecast>
    </day>
    <day date="2012-02-22" risem="549" setm="1068" durm="519" tmin="-30" tmax="-29" pmin="762" pmax="765" wsmin="0" wsmax="2" hummin="77" hummax="82" cl="3" pt="2" pr="1" ts="0" icon="d.sun.c4.s1" descr="Пасмурно, небольшой снег" p="764" ws="0" wd="8" hum="77">
    <forecast valid="2012-02-22T02:00:00" tod="0">
    <values t="-30" p="762" ws="1" wd="1" hum="78" hi="-32" cl="3" pt="2" pr="1" ts="0" icon="n.moon.c4.s1" descr="Пасмурно, небольшой снег"/>
    </forecast>
    <forecast valid="2012-02-22T08:00:00" tod="1">
    <values t="-30" p="763" ws="1" wd="1" hum="79" hi="-31" cl="3" pt="2" pr="1" ts="0" icon="n.moon.c4.s1" descr="Пасмурно, небольшой снег"/>
    </forecast>
    <forecast valid="2012-02-22T14:00:00" tod="2">
    <values t="-29" p="764" ws="0" wd="8" hum="77" hi="-29" cl="3" pt="0" pr="0" ts="0" icon="d.sun.c4" descr="Пасмурно"/>
    </forecast>
    <forecast valid="2012-02-22T20:00:00" tod="3">
    <values t="-29" p="765" ws="1" wd="8" hum="80" hi="-31" cl="3" pt="0" pr="0" ts="0" icon="n.moon.c4" descr="Пасмурно"/>
    </forecast>
    </day>
    </location>
    </weather>
     
  2. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    634
    Симпатии:
    1.407
    Не знаю какая вам информация из всего этого нужна и что означают большинство полей, поэтому вывел все значения.
    PHP:
    $q simplexml_load_string($s);
     
    foreach(
    $q->location->attributes() as $n => $v)
        
    $location[$n] = strval($v);
    foreach(
    $q->location->day->attributes() as $n => $v)
        
    $day[$n] = strval($v);
    $i=0;
    foreach(
    $q->location->day->forecast as $f)
        {
        foreach(
    $f->attributes() as $n => $v)
            
    $forecast[$i][$n] = strval($v);
        foreach(
    $f->values->attributes() as $n => $v)
            
    $forecast[$i][$n] = strval($v);
        
    $i++;
        }
     
  3. yakutyanin

    yakutyanin Постоялец

    Регистр.:
    5 янв 2009
    Сообщения:
    74
    Симпатии:
    11
    нужно все данные по погоде, но в выше приведенном коде ничего не понял.

    вот описание формата данных.
    было бы хорошо если бы скрипт кешировался и обновлял данные 4 раза в сутки