- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试查询 map 中所有项目的属性。
我可以用集合来做到这一点,但它不适用于 map 。
我尝试了很多变体,但没有找到一种方法来获取 map 中对象的所有 id。
请参阅下面的完整代码示例。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.jxpath.JXPathContext;
public class TestMap {
public static void main(String[] args) {
Person p = createPerson(1);
p.foes = new HashMap<>();
p.foes.put("a", createPerson(2));
p.foes.put("b", createPerson(3));
p.friends = new ArrayList<>();
p.friends.add(createPerson(4));
p.friends.add(createPerson(5));
//works
Iterator<Object> friendsId = JXPathContext.newContext(p).iterate("friends/id");
friendsId.forEachRemaining(o -> System.out.println(o));
// works
Iterator<Object> foesId = JXPathContext.newContext(p).iterate("foes/a/id");
foesId.forEachRemaining(o -> System.out.println(o));
// does not works :(
foesId = JXPathContext.newContext(p).iterate("foes/id");
foesId.forEachRemaining(o -> System.out.println(o));
}
private static Person createPerson(Integer id) {
Person p = new Person();
p.setId(id);
return p;
}
public static class Person {
private Integer id;
private List<Person> friends;
private Map<String, Person> foes;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public List<Person> getFriends() {
return friends;
}
public void setFriends(List<Person> friends) {
this.friends = friends;
}
public Map<String, Person> getFoes() {
return foes;
}
public void setFoes(Map<String, Person> foes) {
this.foes = foes;
}
}
}
https://commons.apache.org/proper/commons-jxpath/users-guide.html#Map_Element_Access
最佳答案
发现它:“foes/*/id”有效。
有点明显
关于java - JXPath : how to query all keys from a map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57909456/
我有 map 列表,想要获取 id = 2 的所有 map 。当我将列表包装在持有者对象中时,一切正常(kotlin 代码): class Holder(val value : Any) val li
我需要使用 JXPath 对 JAXB 生成的对象创建查询。下面的试用代码生成以下错误:线程“main”org.apache.commons.jxpath.JXPathNotFoundExceptio
我有一个相对复杂的对象图。 JXPath 中是否可以有一个表达式来按类型查找任何对象? 例如: List myList = JXPathContext.newContext(rootObject).g
我有一个简单的类(用于测试目的),我正尝试使用 JXPath 对其进行查询。 我创建了一个包含各种动物对象的列表,我想为以下对象获取一个迭代器: type='CAT' 的所有动物 所有 numLegs
List alma = new ArrayList(); alma.add(new Object[] { "alma", "korte" }); alma.add(new Object[] { "al
我有一些 jxpath,我想将它们放入一个枚举中,我将使用映射与 JSF 页面共享,这将使它们可供 EL 作为 jxpath 的键来执行 createPathAndSetValue 操作。 然后我可以
想象一下,我们使用 JXPath 作为访问一棵树的语言,该树具有某些代表集合的节点,这些集合在内存中保存起来非常大或昂贵,例如, .../customers[id=12345] 客户实际上位于数据库中
我有一个包含航类号和登机口号的 java 对象列表: public class Flight { public String flightNumber; public String gateN
下面代码中的 JXpath 表达式有什么问题?以下代码总是抛出此异常: org.apache.commons.jxpath.JXPathNotFoundException: No value for
我需要使用 Java 从 DOM 对象中获取值,我想知道 XPath 和 JXPath 之间的区别。 最佳答案 XPath 是一种 W3C 定义的语言,用于在 XML 文档中查找数据。有很多实现。最新
我正在尝试查询 map 中所有项目的属性。 我可以用集合来做到这一点,但它不适用于 map 。 我尝试了很多变体,但没有找到一种方法来获取 map 中对象的所有 id。 请参阅下面的完整代码示例。 i
我正在尝试从 SOAP 响应中提取节点 GoodEmail 的值。似乎无论我尝试什么,我总是得到 org.apache.commons.jxpath.JXPathNotFoundException。
我正在评估 JxPath 1.3 中的表达式 '' = 0,我预计结果为 false。这是我的代码: JXPathContext.newContext(ctaSectionABean).getValu
我已经开始在我的单元和集成测试中使用 Commons JXPath,作为在 bean 层次结构中设置一组属性的简单方法。 我无法“干净地”使用 JXPath 的一种情况是设置列表条目。 我真的很希望
某些根对象具有字段MyCollection myCollection。 MyCollection 类实现 Collection 接口(interface)。元素的名称可以通过调用 someServic
我正在使用 apache JXPath 库来解析 XML。我试图在 JXPath 中找到一个 API,它具有与 XPath 评估类似的功能,即检查 xpath 表达式是否存在?其类似的行是
我有一个使用 java 列表和映射创建的 java 对象树结构(模型),我想评估以下类型的 xpath: name[/type='theType'] 这个 xpath 表达式需要上下文节点和根节点。但
我正在尝试使用 Apache Commons JXPath 解析 XML。但由于某种原因,在解析 xml 后,它无法识别子节点。这是示例代码: private static void processU
输入 JSON: [ {"Activity":"yes","SBNumber":"123"}, {"Activity":"yes","SB#":"123"} ] JXPath 表达式:
我是表达式语言的新手,我想了解有关 org.apache.commons.jxpath 实用程序的更多信息。但我想知道 JXPath 实用程序的实现。对象是首先编码,然后应用 XPath 搜索,还是对
我是一名优秀的程序员,十分优秀!