xml - Xpath 表达式中的类似条件
问题描述
在 XPath 表达式中使用类似条件时很难找到正确的语法(或者我正在以错误的方式进行处理)。
如果我使用相等运算符,它可以工作并且我可以继续前进。
/*[/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom3']/BOM/BO/Document_Lines/row/ItemCode = 'E1234' ]
我所追求的是专门尝试查看元素是否以字符'E'开头。
我努力了:
/*[/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom3']/BOM/BO/Document_Lines/row/ItemCode = 'E*' ]
以及starts-with功能的变体,但无济于事。
希望有人能给我指点或给出正确的语法。
解决方案
你应该可以使用starts-with()
/*[/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom3']/BOM/BO/Document_Lines/row[starts-with(ItemCode,'E')]]
或matches()
使用正则表达式模式:
/*[/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom3']/BOM/BO/Document_Lines/row[matches(ItemCode,'^E.*')]]
推荐阅读
- reactjs - Webpack + `create-react-app` | ProvidePlugin 未将 React 作为模块加载
- ios - 跨应用程序在 UILable 上添加 Tapgesture
- mysql - 使用 MySQL 作为会话存储时的重定向问题
- spring-boot - 如何在 application.properties(keycloak v1.9.8)中设置“realm-public-key”?
- java - 从 Java 中的数组创建对象数组
- java - 我无法在 Unity3D 中构建 android 应用程序。错误 Gradle 初始化失败
- java - 运行集成测试时,Maven Shade Plugin 会导致类路径上出现重复的 jar
- javascript - 用于 Facebook 分享按钮的 JavaScript SDK 与重定向
- google-apps-script - 如何根据单元格内容扩展或缩小公式
- php - 如何在codeigniter php中启动和限制每页记录