条件路径的xquery

时间:2014-03-17 06:06:04

标签: xml xquery

我在处理xquery时遇到问题,我在同一级别有不同类型的节点。我需要根据节点显示xquery。以下是示例

   <head>
         <type1>
              <name>abc</name>
         </type1>
         <type2>
               <name>def</name>
               <type1>
                      <name>efg</name>
               </type1>
         </type2>
   </head>

现在我想执行一个必须检查名称标签的xquery。比如名字是“def”,那么结果应该是

  <type1>
                <name> efg </name>
   </type1>

请你指导我做这件事。

1 个答案:

答案 0 :(得分:2)

这个锥体可以在一个简单的XPath中完成(XPath是XQuery的一个子集)。表达式为:

//*[name = 'def']/type1

这将搜索名为name的子元素等于def的所有元素,并返回type1元素。如果您只想搜索*元素,则可能需要将type2(通配符运算符)更改为type2,具体取决于您的实际数据。你的问题并不十分清楚。

您可能还想查看XPath / XQuery的基础知识,因为这是最基本的事情之一。因此,如果您打算花更多时间使用XPath / XQuery,您应该让自己更熟悉该语言。