加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – XPath:获取节点,其中子节点包含一个属性

发布时间:2020-12-16 02:01:18 所属栏目:百科 来源:网络整理
导读:假设我有以下XML: book category="CLASSICS" title lang="it"Purgatorio/title authorDante Alighieri/author year1308/year price30.00/price/bookbook category="CLASSICS" title lang="it"Inferno/title authorDante Alighieri/author year1308/year pri
假设我有以下XML:
<book category="CLASSICS">
  <title lang="it">Purgatorio</title>
  <author>Dante Alighieri</author>
  <year>1308</year>
  <price>30.00</price>
</book>

<book category="CLASSICS">
  <title lang="it">Inferno</title>
  <author>Dante Alighieri</author>
  <year>1308</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>

我想做一个xpath,回到所有的书节点,有一个语言属性为“it”的标题节点。

我的尝试看起来像这样:

// book [title [@ lang =’it’]]

但是没有工作。我希望回到节点:

<book category="CLASSICS">
  <title lang="it">Purgatorio</title>
  <author>Dante Alighieri</author>
  <year>1308</year>
  <price>30.00</price>
</book>

<book category="CLASSICS">
  <title lang="it">Inferno</title>
  <author>Dante Alighieri</author>
  <year>1308</year>
  <price>30.00</price>
</book>

任何提示?提前致谢。

尝试
//book[title/@lang = 'it']

这读:

>获得所有书元素

>至少有一个标题

>其具有属性lang

>具有值“it”

你可能会发现this有用 – 这是一篇题为“XPath in Five Paragraphs”由Ronald Bourret的文章。

但是在所有的诚实,// book [title [@ lang =’it’]]和以上应该是等价的,除非你的XPath引擎有“问题”。因此,它可能是代码或示例XML中的一些您没有显示的东西 – 例如,您的示例是一个XML片段。可能是根元素有一个命名空间,你不会在你的查询中计数?你只告诉我们它没有工作,但你没有告诉我们你得到了什么结果。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读