在XPath 2.0的上下文中,我正在尝试导入CSV文件,尽管我感觉我的XPath过滤器的意图很明确,但我想验证以下语法是否正确:
/node[image[1][string()] and ( (rocklea[1] + sydney[1]) > 0) and (productgroupcode[1] = "SYS" or productgroupcode[1] = "SVR" or productgroupcode[1] = "NBK" or productgroupcode[1] = "NAS")]
我的Stack Overflow朋友能否检查代码以确保正确执行?
本质上,XPath过滤器必须规定:
image[1]
元素不能为空rocklea[1]
和sydney[1]
的总和必须大于零productgroupcode[1]
必须等于以下值之一:“ SYS”,“ SVR”,“ NBK”或“ NAS” 答案 0 :(得分:0)
是的,在语法上是正确的。根据对条件的描述,XPath似乎是正确的(确定是否提供了示例数据以进行验证会更容易知道)。
有一些不必要的括号可以删除,并且由于您已将其标记为XPath 2.0,因此可以根据一系列值评估productgroupcode[1]
值来将其缩短一点:
/node[
image[1][string()] and
(rocklea[1] + sydney[1]) > 0 and
productgroupcode[1] = ("SYS", "SVR", "NBK", "NAS")
]