select 并使用正则表达式计算嵌套元素
select and count nested elements with regex expression
我有一个这样的 XML 文件:
<apps>
<mobile-app>
</mobile-app>
<mobile-app>
</mobile-app>
<web-app>
</web-app>
<xpto>
</xpto>
</apps>
我想数一数里面有多少 *-apps
,比如 count(//apps/"<(.*)-app>")
。
已经尝试在这里搜索但是很难,因为很多问题都有与某些编程语言的功能相关的 xpath 表达式,这是我想在这里避免的。
在 XPath 2.0 或更高版本中,您可以使用 count(apps/*[matches(local-name(), '-app$')])
通过正则表达式匹配来解决此问题。但是,检查名称的末尾是 -app
就足以使用 ends-with(local-name(), '-app')
.
我有一个这样的 XML 文件:
<apps>
<mobile-app>
</mobile-app>
<mobile-app>
</mobile-app>
<web-app>
</web-app>
<xpto>
</xpto>
</apps>
我想数一数里面有多少 *-apps
,比如 count(//apps/"<(.*)-app>")
。
已经尝试在这里搜索但是很难,因为很多问题都有与某些编程语言的功能相关的 xpath 表达式,这是我想在这里避免的。
在 XPath 2.0 或更高版本中,您可以使用 count(apps/*[matches(local-name(), '-app$')])
通过正则表达式匹配来解决此问题。但是,检查名称的末尾是 -app
就足以使用 ends-with(local-name(), '-app')
.