Чтобы получить ожидаемый результат ReportRequest
, вам нужно изменить выражение XPath на
local-name(/*[local-name()='Envelope']/*[local-name()='Body']/*)
. Получает локальное имя первого потомка в XPath-1.0.
Если выхотите получить имена всех дочерних элементов, которые вам нужно будет перебрать по основному пути, и получить local-name()
каждого элемента отдельно.
Если у вас будет доступен XPath-2.0, выможно упростить это и использовать следующее выражение
/*[local-name()='Envelope']/*[local-name()='Body']/*/local-name()
, чтобы получить все имена всех потомков элемента soapenv:Body
.