Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Crawl 26.09.2007 10:05 / 26.09.2007 10:08
Все, сдаюсь. Решил разобраться с XML немного и для практики выбрал всою Пикасу. XML который picasaweb.com передает выглядит примерно так:$xdoc[^xdoc::create{<?xml version="1.0" encoding="windows-1251" ?> <rss> <channel> <item> <guid isPermaLink="false">http://picasaweb.google.com/data/entry/base/user/kozlov.m.a/albumid/5114308059646118129?alt=rss&hl=en_US</guid> <pubDate>Tue, 25 Sep 2007 19:06:09 +0000</pubDate> <atom:updated>2007-09-26T00:47:22.000Z</atom:updated> <category domain="http://schemas.google.com/g/2005#kind">http://schemas.google.com/photos/2007#album</category> <title>2007-09-25 - Pre H2O</title> <description><table><tr><td style="padding: 0 5px"><a href="http://picasaweb.google.com/kozlov.m.a/20070925PreH2O"><img style="border:1px solid #5C7FB9" src="http://lh5.google.com/kozlov.m.a/RvmsFV8fyPE/AAAAAAAABAk/p8tD67KR7ms/s160-c/20070925PreH2O.jpg" alt="2007-09-25 - Pre H2O"/></a></td><td valign="top"><p><font color="#333333"></font></p><font color="#6B6B6B">Date: </font><font color="#333333">Sep 25, 2007</font><br/><font color="#6B6B6B">Number of Photos in Album: </font><font color="#333333">3</font><br/><p><a href="http://picasaweb.google.com/kozlov.m.a/20070925PreH2O"><font color=\"#112ABB\">View Album</font></a></p></td></tr></table></description> <link>http://picasaweb.google.com/kozlov.m.a/20070925PreH2O</link> <author>Mikhail</author> <media:group> <media:title type="plain">2007-09-25 - Pre H2O</media:title> <media:description type="plain"/> <media:keywords/> <media:content url="http://lh5.google.com/kozlov.m.a/RvmsFV8fyPE/AAAAAAAABAk/p8tD67KR7ms/20070925PreH2O.jpg" type="image/jpeg" medium="image"/> <media:thumbnail url="http://lh5.google.com/kozlov.m.a/RvmsFV8fyPE/AAAAAAAABAk/p8tD67KR7ms/s160-c/20070925PreH2O.jpg" height="160" width="160"/> <media:credit>Mikhail</media:credit> </media:group> </item> <item> <guid isPermaLink="false">http://picasaweb.google.com/data/entry/base/user/kozlov.m.a/albumid/5114308059646118129?alt=rss&hl=en_US</guid> <pubDate>Tue, 25 Sep 2007 19:06:09 +0000</pubDate> <atom:updated>2007-09-26T00:47:22.000Z</atom:updated> <category domain="http://schemas.google.com/g/2005#kind">http://schemas.google.com/photos/2007#album</category> <title>2007-09-25 - Pre H2O</title> <description><table><tr><td style="padding: 0 5px"><a href="http://picasaweb.google.com/kozlov.m.a/20070925PreH2O"><img style="border:1px solid #5C7FB9" src="http://lh5.google.com/kozlov.m.a/RvmsFV8fyPE/AAAAAAAABAk/p8tD67KR7ms/s160-c/20070925PreH2O.jpg" alt="2007-09-25 - Pre H2O"/></a></td><td valign="top"><p><font color="#333333"></font></p><font color="#6B6B6B">Date: </font><font color="#333333">Sep 25, 2007</font><br/><font color="#6B6B6B">Number of Photos in Album: </font><font color="#333333">3</font><br/><p><a href="http://picasaweb.google.com/kozlov.m.a/20070925PreH2O"><font color=\"#112ABB\">View Album</font></a></p></td></tr></table></description> <link>http://picasaweb.google.com/kozlov.m.a/20070925PreH2O</link> <author>Mikhail</author> <media:group> <media:title type="plain">2007-09-25 - Pre H2O</media:title> <media:description type="plain"/> <media:keywords/> <media:content url="http://lh5.google.com/kozlov.m.a/RvmsFV8fyPE/AAAAAAAABAk/p8tD67KR7ms/20070925PreH2O.jpg" type="image/jpeg" medium="image"/> <media:thumbnail url="http://lh5.google.com/kozlov.m.a/RvmsFV8fyPE/AAAAAAAABAk/p8tD67KR7ms/s160-c/20070925PreH2O.jpg" height="160" width="160"/> <media:credit>Mikhail</media:credit> </media:group> </item> <!-- и так далее--> </channel> </rss> }]выбрать item и всех его детей я вроде как смог, но вот как выбрать в каждоом item всех детей group я ума не приложу.
$list[^xdoc.select[/rss/channel/item]] ^for[i](0;$list-1){ $node[$list.$i] <b>Title: ^node.selectString[string(title)]</b><br/> <b>Link: ^node.selectString[string(guid)]</b><br/> $NodeList[$node.childNodes] ^if($NodeList is hash){ #всех детей group вытаскиваю тут вот таким тапорным методом: $groupList[$NodeList.8.childNodes] #но что если номер node поменятся? ^for[g](0;$groupList-1){ $group[$groupList.$g] ^group.selectString[string(@url)] }[<br />] } }все вышенписанное выведет примерно следущее:
Title: 2007-09-25 - Pre H2OПошел спать, может утром что придет в голову, а может кто что дельное подскажет.
Link: http://picasaweb.google.com/data/entry/base/user/kozlov.m.a/albumid/5114308059646118129?alt=rss&hl=en_US
title
description
keywords
content http://lh5.google.com/kozlov.m.a/RvmsFV8fyPE/AAAAAAAABAk/p8tD67KR7ms/20070925PreH2O.jpg
thumbnail http://lh5.google.com/kozlov.m.a/RvmsFV8fyPE/AAAAAAAABAk/p8tD67KR7ms/s160-c/20070925PreH2O.jpg
credit
Title: 2007-09-25 - Pre H2O
Link: http://picasaweb.google.com/data/entry/base/user/kozlov.m.a/albumid/5114308059646118129?alt=rss&hl=en_US
title
description
keywords
content http://lh5.google.com/kozlov.m.a/RvmsFV8fyPE/AAAAAAAABAk/p8tD67KR7ms/20070925PreH2O.jpg
thumbnail http://lh5.google.com/kozlov.m.a/RvmsFV8fyPE/AAAAAAAABAk/p8tD67KR7ms/s160-c/20070925PreH2O.jpg
credit