Какой лучший способ обернуть язык / интерфейс XPath поверх POJO?
Я хотел бы представить дерево POJO через простой язык "XPath", чтобы пользователи могли делать что-то вроде /purchaseOrder/location[@city = 'Mountain View']
?
2 ответа
Я посмотрел на Apache JXpath, который выглядит довольно прилично и несколько поддерживается. Я не знаю, как быстро это все же.
Я также видел Jaxen, который требует от пользователя дополнительной работы, как описано здесь, и читая кодекс PMD. Но Jaxen, кажется, был оставлен его авторами. Кроме того, я не знаю, какая версия XPath поддерживается здесь.
Есть ли другие?
Если ваши POJO отображаются в XML с помощью метаданных JAXB, то вы можете обернуть корневой объект в экземпляр javax.xml.bind.util.JAXBSource
и использовать javax.xml.xpath
API для выдачи запросов XPath к нему.