在XPath中返回具有特定条件的相同XML Doc结构

开发X

我在页面http://www.w3schools.com/xml/xml_xpath.asp中有类似于xml的xml文档

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book category="cooking">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>

<book category="children">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

<book category="web">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>

<book category="web">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>

</bookstore>

问题是如何使用与某个值对应的元素返回此文档?应该如何编写XPath或XQuery命令?

例如,搜索标题包含“ Learning”,则返回的xml文档应类似于:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="web">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>
</bookstore>

如何得到这个结果?

另一个问题,如何使用忽略字符的大小写进行搜索,因此“ learNING”应返回相同的结果?

har07

使用XQuery可以执行以下操作:

<bookstore>
{
    for $d in //book[contains(lower-case(title),'learning')]
    return  $d
}
</bookstore>

Xpathtester Demo

请注意,只有一个<bookstore>包装所有<book>返回的匹配元素,并注意lower-case()在匹配过程中使用函数“忽略”书名的字符大小写。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Everest Framework解析XML doc(临床文档体系结构CDA,HL7标准)

具有不同 XML 结构的元素的 Xpath

如果满足特定条件,则定义结构

筛选所有行的特定条件,并为每列只返回一行具有相同值的条件

在具有相同数据结构的多个文件中更改特定列的标题

在c#中合并两个具有相同结构的xml的属性

如何在具有相同结构的三个 XML 文件中写入数据?

如何返回具有特定条件的不同行?

返回具有特定条件的多维集合的查询

haskell:递归函数,返回具有特定条件的元组列表中的char(比较)

如何在Javascript中返回具有特定条件的对象数组?

如何在Java中创建具有特定结构的XML文件

函数和结构在C ++中具有相同的名称

Angular中具有相同结构的多个页面

结构概念中具有相同类型的多个属性

Microsoft Word 中具有相同层次结构的重叠列表

结构中具有不同 ID 的相同 ArrayName

在Python中合并具有相同键的字典层次结构

更新具有特定条件的对象数组中的元素

选择中具有特定条件的总和

从具有特定条件的组列表中查询项目

在BeautifulSoup中查找具有特定条件的ID

对r中具有特定条件的行求和

计算具有特定条件的数据中的总 id

在R中删除具有特定条件的行

在 Access 中查找具有特定条件的最新记录

如何将具有不同名称空间的相同XML元素反序列化为结构中的不同元素

从两个具有相同标签结构的xml文件的差异中创建一个节点

在相同的类/结构中具有相同签名的相同功能?超载?