регулярное выражение xpath для xml - PullRequest
0 голосов
/ 03 января 2019

Я хотел бы прочитать xml, используя регулярное выражение xpath.

Теги могут быть <PaymentCard> или <ns2:PaymentCard>.

Мне нужно найти общее регулярное выражение для чтения обоих тегов.

В настоящее время я могу читать только тег <PaymentCard>, используя следующий код:

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

Ответы [ 2 ]

0 голосов
/ 03 января 2019

В дополнительном комментарии вы пояснили, что эти два имени на самом деле PaymentCard и ns2:PaymentCard - то есть два имени, которые имеют одинаковую локальную часть и разные URI пространства имен.

В XPath 2.0Вы можете найти имена, используя только локальную часть, используя //*:PaymentCard.Эквивалент XPath 1.0 равен //*[local-name()='PaymentCard'].

0 голосов
/ 03 января 2019

Используйте оператор объединения:

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

Обратите внимание, что это выражение XPath (версия 1.0), а не регулярное выражение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...