首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用jxpath获取列表中对象数组的第一个元素?

如何使用jxpath获取列表中对象数组的第一个元素?
EN

Stack Overflow用户
提问于 2011-05-27 21:48:17
回答 2查看 1.8K关注 0票数 0
代码语言:javascript
运行
复制
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);

因此,基本上我应该在问号的位置写入什么内容才能看到以下输出:

代码语言:javascript
运行
复制
[alma,alma2,alma3]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-27 22:16:34

我认为这是不可能的。您需要将数据放在某种容器对象中。例如,

代码语言:javascript
运行
复制
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
  }
}

然后,您可以使用以下表达式:

代码语言:javascript
运行
复制
context.selectNodes("alma/@name");
票数 1
EN

Stack Overflow用户

发布于 2014-01-21 19:52:17

这很奇怪,但是如果你不能改变你的初始结构,你可以在两个步骤中完成:

代码语言:javascript
运行
复制
Iterator<Object> iter = context.iterate(".");
while(iter.hasNext()){
    Object o=iter.next();
    JXPathContext context2 = JXPathContext.newContext(o);
    System.out.println(context2.getValue(".[1]"));
}

输出:

代码语言:javascript
运行
复制
alma
alma2
alma3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6153131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档