Xpath表达中的条件类似

时间:2018-08-08 02:05:25

标签: 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*' ]

以及开始功能的变体,但无济于事。

希望有人可以给我一个指针或给出正确的语法。

1 个答案:

答案 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.*')]]