我想基于一个日期格式为yyyy-MM-dd
的属性来过滤元素。
我的XML文件看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<root>
<article title="wired" pub-date="2010-11-22" />
<article title="Plus 24" pub-date="2010-11-22" />
<article title="Finance" pub-date="2010-10-25" />
</root>
我的xpath尝试:
'//article[xs:date(./@pub-date) > xs:date("2010-11-15")]'
使用xpath 2.0-除非绝对必要,否则不建议添加架构。
来自评论:
我相信我可能遗漏了什么。那么,有可能需要指定其他内容才能使xs:date正常工作吗?也许是xs:命名空间定义?
./
开头的步骤,仅为简洁起见,可以使用(对于其他表达式).//
代替descendant::
。 - user357812//article[xs:date(@pub-date) gt xs:date("2010-11-15")]
,因为这个更短更紧凑。 - Martin Honnen