【发布时间】:2015-12-08 12:18:48
【问题描述】:
我正在使用exist-db 来解析XML 文档。我正在编写一个 xquery 脚本来处理文档。
我的 XML 输入看起来像这样
<data>
<schedules>
<schedule>
<event date="2015-08-28"/>
<event date="2015-08-29"/>
</schedule>
</schedules>
</data>
我想使用 xquery/xpath 来选择 event/@date = "2015-08-28" 的所有事件。
我试过了
let $rawDoc := collection("/db/test")/data/schedules/schedule[event/@date = "2015-08-28"]
但我得到了这个
<data>
<schedules>
<schedule>
<event date="2015-08-28"/>
<event date="2015-08-29"/>
</schedule>
</schedules>
</data>
当我想要这个时
<data>
<schedules>
<schedule>
<event date="2015-08-28"/>
</schedule>
</schedules>
</data>
日期属性值或我的查询字符串中的“-”似乎没有被视为显式破折号。我不清楚如何逃避“-”?我尝试了“-”,但没有成功(没有返回结果)。
有什么想法吗?
谢谢, 类型
【问题讨论】:
-
如果您选择
/data/schedules/schedule[...],您将获得该元素的全部内容,其中包括任何后代event元素。也许改为选择event元素?或者为什么需要schedule元素? -
你关于它与连字符有关的理论与推测它取决于月相一样疯狂。
-
以下答案是否有帮助?请将其中一个标记为答案,以便此问题不再显示为“未回答”。