| Новости | 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