Я хочу посмотреть, существует ли элемент темы с указанным именем в следующем XML-файле.JAXB Moxy getValueByXpath дает null
Input.xml
<data>
<artifacts>
<document id="efqw4eads">
<name>composite</name>
</document>
<theme id="1">
<name>Terrace</name>
</theme>
<theme id="2">
<name>Garage</name>
</theme>
<theme id="3">
<name>Reception</name>
</theme>
<theme id="4">
<name>Grade II</name>
</theme>
</artifacts>
</data>
У меня есть следующий код. return true оператор метода никогда не выполняется. answer
всегда содержит нулевое значение.
public boolean themeExists(String name, Data data){
String expression = "artifacts/theme[name='"+name+"']/name/text()";
String answer = jaxbContext.getValueByXPath(data, expression, null, String.class);
if(answer == null || answer.equals("")){
return false;
}
return true;
}
Вашего XML был нарушен, закрытие '' пропустило '/'. Я добавил. –