下面代码中的JXpath表达式有什么问题?下面的代码总是抛出这个异常:
org.apache.commons.jxpath.JXPathNotFoundException: No value for xpath: countries[gdp=4]然而,我期待着德国会回归。这是怎么回事?
import org.apache.commons.jxpath.JXPathContext;
public class Test {
private final Country[] countries = {
new Country("US", 20),
new Country("China", 13),
new Country("Japan", 5),
new Country("Germany", 4),
new Country("UK", 3)};
public static void main(String[] args) {
Object result = JXPathContext.newContext(new Test()).getValue("countries[gdp=4]");
System.out.println(result);
}
public Country[] getCountries() {
return countries;
}
}-
class Country{
private String name;
private int gdp;
public Country(String name, Integer gdp){
this.name=name;
this.gdp=gdp;
}
@Override
public String toString() {
return name;
}
public String getName() {
return name;
}
public int getGdp() {
return gdp;
}
}发布于 2019-07-03 01:13:07
在我替换了以下代码后,它开始工作:
Object result = JXPathContext.newContext(new Test()).getValue("countries[gdp=4]");出自:
Iterator result = JXPathContext.newContext(new Test()).iterate("countries[gdp=4]");发布于 2019-06-30 23:01:40
我不太了解您正在使用的jxpath库。但是xpath表达式应该是这样的:
/countries/country[gdp=4]https://stackoverflow.com/questions/56823721
复制相似问题