xml - 包含函数返回具有所有子字符串的节点。我怎样才能避免这种情况
问题描述
我正在使用 './/*[contains(local-name(), "revenue")]' 检索所有节点与所有变体(大写、小写和混合)完全匹配的 "revenue" 标记,而不是具有“收入”作为子字符串的节点。
从下面的 xml 数据。我只想检索“revenue”和“Revenue”标签,而不是“interestRevenue”、“transactionrevenue”、“revenueOtherServices”标签
<financial_statement>
<revenue>123</revenue>
<Revenue>456</Revenue>
<interestRevenue>234</interestRevenue>
<salaries>12</salaries>
<transactionrevenue>345</transactionrevenue>
<revenueOtherServices>109</revenueOtherServices>
<sales>783</sales>
<costs>746</costs>
.....
</financial_statement>
有什么办法吗?
提前致谢。
解决方案
像这样(xpath 2.0):
/financial_statement/*[lower-case(name()) = "revenue"]
对于 xpath 1:
/financial_statement/*[translate(name(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz") = "revenue"]
推荐阅读
- python - Python,不能覆盖一个方法
- javascript - 如何在页面滚动gsap时更改CSS变量的值?
- java - 如何在 RESTful API 更新情况下解决 int 值为 null 的问题?
- java - Graphics2D 和用户移动设置
- php - 我想制作一个基本宽度是输入大小一半的箭头
- tensorflow - 将批量大小更改为 16 时不显示和存储验证准确性和验证损失
- linux - Linux,如何查找最近的文件(在过去 3 天内修改但不是在过去 24 小时内修改)?
- python - 如何为 django 项目修改多个数据库的 docker 设置?
- android - 错误“支持的最低 Gradle 版本为 7.0.2。当前版本为 6.8。” 在 Android Studio 中
- database - 重新启动 TDengine 时无法创建计时器控制器