XPath не может найти двигатель - PullRequest
2 голосов
/ 09 февраля 2009

Я унаследовал некоторый код, который использует XPath, для которого я новичок. У меня есть это сейчас, чтобы он загружал документ, но когда document.selectPath (queryPath) он всегда терпит неудачу со следующей ошибкой: java.lang.RuntimeException: Trying XBeans path engine... Trying XQRL... Trying delegated path engine... FAILED on // at org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:173) at org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:130) at org.apache.xmlbeans.impl.store.Cursor._selectPath(Cursor.java:902) at org.apache.xmlbeans.impl.store.Cursor.selectPath(Cursor.java:2634) at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:462) at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:446)

Ответы [ 3 ]

3 голосов
/ 16 июня 2010

Спасибо тебе за сообщение. Я был смущен, поскольку более ранние команды для bean-компонентов xml были успешными.

Без саксона это все еще работает:

MapDocument doc;
...
String cityQuery = "$this//City";
XmlObject[] cities = doc.selectPath(cityQuery);

Однако саксон требуется для явного выбора полей в тегах:

String aveQuery= "$this//Street[Kind='Avenue']";
XmlObject[] avenues = doc.selectPath(aveQuery); // RuntimeException without saxon on path

java.lang.RuntimeException:
Trying XBeans path engine... Trying XQRL... Trying delegated path engine... FAILED on $this//Street[Kind='Avenue']

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

2 голосов
/ 30 октября 2015

Движение, если у вас есть [] в вашем xpath, оно ищет внешнего инженера xpath. Вы должны скачать saxonb9-0-0-4j & xmlbeans-xpath-2.4.0.jar и добавить в classpath

2 голосов
/ 09 февраля 2009

Вам нужен движок XPath в вашем classpath, который зависит от версии XMLBeans http://wiki.apache.org/xmlbeans/XmlBeansFaq#whatJars

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...