【发布时间】:2013-01-10 16:13:33
【问题描述】:
我遇到了这个问题:我从各种网页获取 rss 提要,然后我需要按日期对它们进行排序。我使用 xquery 进行 xml 操作,使用 eXist 数据库存储 rss/xml。 这是我的代码:
for $item in subsequence(collection('/db/bla/user/feed')//item[contains(title, $search)], $start, $num)
let $title:= $item/title/text()
let $desc:= $item/description/text()
let $link := $item/link/text()
let $date:= $item/pubDate/text()
order by $date
这不起作用。而且我认为问题出在格林威治标准时间和美国东部标准时间的不同时间,因此按 $date 的顺序无法正常工作。 请帮忙,我被困在这里了。
提前致谢!
编辑:
这是我从 pubDate 标签获取的日期和时间格式:
Mon, 10 Dec 2012 13:32:24 EST
或
Mon, 10 Dec 2012 13:32:24 GMT
【问题讨论】:
-
看来您需要解析日期时间。一些 API 内置了这些类型的函数:MarkLogic、Java、.NET 等,因此您必须决定是在 XQuery 之外解析 dateTime 还是在 XQuery 中从头开始编写一个,在这种情况下应该可能是一个不同的问题。
-
您使用的是什么版本的存在?
-
@Ranon 我可以使用 3.0 版和 1.0 版,因为我认为 eXist db 2.0 版都支持这两个版本......现在我使用 1.0 来满足我的需要
-
我关心的不是你的 XQuery 版本,而是你的 eXist dv 版本;但你也回答了。请看下面我的回答。 :)
标签: xml xpath xml-parsing xquery exist-db