【发布时间】:2011-04-03 15:27:52
【问题描述】:
使用 Java API 评估 Berkeley DB。以下是我的测试 XML 数据之一:
<master>
<env name="development">
<server name="tomcat1" ip="122.122.123.1">
<domain name="domain1">
<application name="GreatApplication1" status="enabled"/>
</domain>
<domain name="domain2">
<application name="GreatApplication2" status="enabled"/>
<application name="NotSoGreatApplication2" status="disabled"/>
<application name="GreatApplication3" status="enabled"/>
</domain>
</server>
</env>
</master>
使用以下查询字符串,我可以查询任何“服务器”的任何“域”上的应用程序及其状态:(假设 envs.dbxml 是我的 Xml 数据库)
collection('envs.dbxml')/master/env[@name=$name]/server/domain/application/@*/string()
我希望能够在此查询返回结果时获取各个服务器名称。怎样才能做到这一点?此查询只会依次返回所有应用程序和状态值。
【问题讨论】:
-
好问题,+1。有关完整且简短的单行 XPath 2.0 表达式 - 解决方案,请参阅我的答案。 :)
标签: xml xpath xquery xpath-2.0 berkeley-db-xml