如何使用 XPATH for XML 获取子节点数

Posted

技术标签:

【中文标题】如何使用 XPATH for XML 获取子节点数【英文标题】:How to get Count of child nodes using XPATH for XML 【发布时间】:2017-12-19 15:17:00 【问题描述】:

我有一个包含多个节点的 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="eating">
   <title lang="en">Everyday Italian</title>
   <author>Giada</author>
   <year>2015</year>
</book>

</bookstore>

我想要使用 XPATH 烹饪类别的书中子节点的计数。

像上面的例子一样,具有cooking属性的子节点的计数是4

【问题讨论】:

欢迎来到 Stack Overflow!请edit您的问题显示the code you have so far。您应该至少包含您遇到问题的代码的大纲(但最好是minimal reproducible example),然后我们可以尝试帮助解决具体问题。您还应该阅读How to Ask。 【参考方案1】:

请试试这个:

<xsl:value-of select="count(/bookstore/book[@category = 'cooking']/*)"/>

【讨论】:

以上是关于如何使用 XPATH for XML 获取子节点数的主要内容,如果未能解决你的问题,请参考以下文章

计算特定XML节点c#的子节点数[重复]

使用 linq 和 c# 的最大父 ID 的子节点数

如何根据子节点数对剑道树视图进行排序

如何在 JSDOM 中使用 XPath 获取 XML 属性

如何使用 XML::XPath 获取属性?

如何在具有 xmlns 属性的 xml 中使用 xpath 获取特定的嵌套元素? [复制]