【发布时间】:2011-07-06 18:10:18
【问题描述】:
我正在尝试创建一个 xquery 表达式,它将返回选定的节点但不会返回它们的子节点。这可能最好用一个例子来说明。我有以下 myNode 节点:
<myNode>
<myElements id="1">
<myElement key="one">aaa</myElement>
<myElement key="two" >bbb</myElement>
<myElement key="three">ccc</myElement>
</myElements>
<myElements id="2">
<myElement key="one">ddd</myElement>
<myElement key="two" >eee</myElement>
<myElement key="three">fff</myElement>
</myElements>
</myNode>
我有兴趣返回
<myNode>
<myElements id="1" />
<myElements id="2" />
</myNode>
或
<myNode>
<myElements id="1"></myElements>
<myElements id="2"></myElements>
</myNode>
我目前有一个 xpath 表达式,看起来类似于以下内容(为此图进行了简化),正如预期的那样,它正在返回 myElement 子项:
$results/myNode/MyElements
我是不是找错树了?这在 XPath/XQuery 中是否可行?
【问题讨论】:
-
好问题,+1。请参阅我的答案以获得完整、简短且简单的 XSLT 解决方案 :)
-
您可以在en.wikibooks.org/wiki/Talk:XQuery/Typeswitch_Transformations 发布的答案中阅读 Michael Kay 关于 XQuery 方法的评论