xml的xpath正则表达式

时间:2019-01-03 06:17:23

标签: java xml xslt xpath

我想使用xpath正则表达式读取xml。

标签可以是<PaymentCard><ns2:PaymentCard>

我需要找到一个公共的正则表达式来读取两个标签。

目前,我只能使用以下代码读取<PaymentCard>标签:

paymentCardPath = xpath.compile("//PaymentCard");

2 个答案:

答案 0 :(得分:2)

在补充评论中,您阐明了所涉及的两个名称实际上是PaymentCardns2:PaymentCard-即,两个具有相同本地部分和不同名称空间URI的名称。

在XPath 2.0中,您可以单独使用//*:PaymentCard使用本地部分来查找名称。等效的XPath 1.0是//*[local-name()='PaymentCard']

答案 1 :(得分:0)

使用联合运算符:

//*[self::PaymentCard | self::ns2.PaymentCard]

请注意,这是XPath表达式(1.0版),而不是正则表达式。