2013-09-10 2 views
0

Поэтому у меня есть объект структуры вроде следующего:jxPath Получение объекта из списка на основе значения в карте

У меня есть Person объекта, который имеет список друзей (именованные друзей в лицо) - Это Список друзей имеет карту (названная информация) - Карта имеет ключ «возраст» и значение строки

Итак, я ищу, чтобы вернуть одного друга, где возраст этого друга равен разрешению 20

public class Person { 
    private List<Friend> friends; 

    public List<Friend> getFriends() { 
     return friends; 
    } 

    public void setFriends(List<Friend> friends) { 
     this.friends = friends; 
    } 
} 


public class Friend { 
    private Map<String, Object> information; 

    public Map<String, Object> getInformation() { 
     return information; 
    } 

    public void setInformation(Map<String, Object> information) { 
     this.information = information; 
    } 
} 

Здесь w Шляпа я думал, но не мог заставить его работать, пожалуйста, дайте мне знать, если я пропускаю что-то

Friend match = (Friend)JXPathContext.newContext(personInput).getValue("friends/information[@name='age' = '20']//friend"); 

ответ

0

Вы должны выбрать все объекты под «друзей» ссылки, которые имеют информационную карту, которая содержит " возраст "равен 20. Тогда вам нужен только первый результат.

Friend match = (Friend)JXPathContext.newContext(personInput).getValue("friends[information/age = '20'][1]"); 
Смежные вопросы