您好,我尝试使用 xpath 和多个 AND OR 运算符来选择 XML 项目,但没有成功。
我需要过滤某个字段等于某个值以及一个或多个其他字段等于另一个值的位置,例如。
field1[contains[value1]] and field2[contains[value2]] or field3[contains[value3]] or field4[contains[value4]]
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,这仍然给出字段 1 不包含 value1 的结果,因为 field3 包含 value3。我需要它仅在 field1 确实包含 value1 并且任何一个或多个其他字段包含相应的值时才给出结果。
这就是我目前所拥有的(注意方括号中的一些元素是变量)...
//item[SubCategory[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),translate('[data:row("Title")]', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'))] and Group[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),translate('[session:naroomaShown]', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'))]|Group[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),translate('[session:moruyaShown]', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'))]|Group[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),translate('[session:batemansShown]', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'))]]