List alma = new ArrayList();
alma.add(new Object[] { "alma", "korte" });
alma.add(new Object[] { "alma2", "korte2" });
alma.add(new Object[] { "alma3", "korte3" });
JXPathContext context = JXPathContext.newContext(alma);
List result = context.selectNodes("????????");
System.out.println(result);
因此,基本上我应该在问号的位置写入什么内容才能看到以下输出:
[alma,alma2,alma3]
发布于 2011-05-27 22:16:34
我认为这是不可能的。您需要将数据放在某种容器对象中。例如,
public class AlmaContainer {
List<AlmaObject> alma = new ArrayList<AlmaObject>();
}
public class AlmaObject {
String name;
String value;
AlmaObject(name, value) {
this.name=name
this.value= value
}
}
然后,您可以使用以下表达式:
context.selectNodes("alma/@name");
发布于 2014-01-21 19:52:17
这很奇怪,但是如果你不能改变你的初始结构,你可以在两个步骤中完成:
Iterator<Object> iter = context.iterate(".");
while(iter.hasNext()){
Object o=iter.next();
JXPathContext context2 = JXPathContext.newContext(o);
System.out.println(context2.getValue(".[1]"));
}
输出:
alma
alma2
alma3
https://stackoverflow.com/questions/6153131
复制相似问题