要在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*' ]
以及开始功能的变体,但无济于事。
希望有人可以给我一个指针或给出正确的语法。
答案 0 :(得分:0)
您应该可以使用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.*')]]