Какой лучший способ обернуть язык / интерфейс XPath поверх POJO? - PullRequest
3 голосов
/ 28 октября 2011

Я бы хотел представить дерево POJO через простой язык, подобный XPath, чтобы пользователи могли делать что-то вроде /purchaseOrder/location[@city = 'Mountain View']?

Ответы [ 2 ]

3 голосов
/ 28 октября 2011

Я посмотрел на Apache JXpath , который выглядит довольно прилично и несколько поддерживается.Хотя я не знаю, насколько это быстро.

Я также видел Джаксен , который требует от пользователя дополнительной работы, как описано здесь и чтением Код СМР PMD .Но Джаксен, похоже, был заброшен его авторами.Кроме того, я не знаю, какая версия XPath поддерживается здесь.

Есть ли другие?

2 голосов
/ 28 октября 2011

Если ваши POJO сопоставлены с XML через метаданные JAXB, вы можете обернуть корневой объект в экземпляр javax.xml.bind.util.JAXBSource и использовать API javax.xml.xpath для выпуска XPathзапросы против этого.

...