Объяснение Леймана для XPath с использованием //, / и local-name ()? - PullRequest
0 голосов
/ 31 марта 2020

Просто пытаюсь понять, что делает этот XPath

"//*[local-name()='Fault']/*[local-name()='detail']/*[local-name()='serviceFault']/*[local-name()='messages']/*[local-name()='message']/*[local-name()='code']"

Я полагаю, что он сканирует весь файл XML, чтобы найти неисправность, детализацию, ошибку службы, сообщения, сообщение, код?

А если так, то это функция и или или ? И то, что я имею в виду, ищет fault или detail, или ..., или он ищет fault и detail и serviceFault и ...?

1 Ответ

0 голосов
/ 31 марта 2020

Понимают:

  1. //e выбирает все e элементы в документе XML.
  2. p/c выбирает c дочерние элементы p родительский элемент.
  3. *[local-name()='ln'] совпадает с ln, но игнорирует XML пространства имен.

Затем ваш XPath игнорирует XML пространства имен и выбирает все элементы code в документе, которые имеют наследие Fault/detail/serviceFault/messages/message, где Fault может встречаться в любом месте документа XML.

См. также

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