我想使用xpath正则表达式读取xml。
标签可以是<PaymentCard>
或<ns2:PaymentCard>
。
我需要找到一个公共的正则表达式来读取两个标签。
目前,我只能使用以下代码读取<PaymentCard>
标签:
paymentCardPath = xpath.compile("//PaymentCard");
答案 0 :(得分:2)
在补充评论中,您阐明了所涉及的两个名称实际上是PaymentCard
和ns2:PaymentCard
-即,两个具有相同本地部分和不同名称空间URI的名称。
在XPath 2.0中,您可以单独使用//*:PaymentCard
使用本地部分来查找名称。等效的XPath 1.0是//*[local-name()='PaymentCard']
。
答案 1 :(得分:0)
使用联合运算符:
//*[self::PaymentCard | self::ns2.PaymentCard]
请注意,这是XPath表达式(1.0版),而不是正则表达式。