我想查看以下 xml 文件中是否存在具有指定名称的主题元素。
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;
}
最佳答案
EclipseLink JAXB (MOXy) 目前不支持此用例。我打开了以下增强功能,您可以用来跟踪我们的进度:
关于xpath - JAXB Moxy getValueByXpath 给出 null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17881850/