XMLHolder.getNodevalue, возвращающий Java.lang.RuntimeException: net.sf.saxon.trans.XPathException: синтаксическая ошибка XPath - PullRequest
0 голосов
/ 07 июня 2019

При использовании XMLholder.getNodeValue для узла, которого нет, я получаю ошибку, которая может быть ожидаемым поведением метода getNodeValue. Поэтому, чтобы преодолеть эту проблему, хотелось бы проверить, присутствует ли дочерний узел на первом месте, а затем извлечь значение узла, используя метод getNodeValue.

Я пробовал getDomnode ("xpath"). Getchildnodes (), однако это более сложно для расшифровки требуемого значения из дочерних узлов.

Структура XML ниже,

<employeelist>
 <employee>
  <first_name> John</first_name>
  <last_name>Smith</last_name>
 </employee>
 <employee>
  <first_name>Michael</first_name>
  <last_name>Weller</last_name>
 </employee>
 <employee>
  <first_name>Chris</first_name>
 </employee>
<employeelist>

Код, как показано ниже,

XMLholder.getNodeValue ( "// employeelist [1] / работник [3] / last_name [1]")

Это пример, однако я получаю XML с более чем 3 сотрудниками и никогда не узнаю, для какого из них у меня отсутствует тег last_name.

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