Разбор xml с несвязанными префиксами - PullRequest
3 голосов
/ 20 января 2011

Пытается разобрать SAX

<foo bar:car="zoo"/>

Результат:

org.dom4j.DocumentException: Error on line 1 of document file:///c:/temp/test.xml : The prefix "bar" for attribute "bar:car" associated with an element type "foo" is not bound. Nested exception: The prefix "bar" for attribute "bar:car" associated with an element type "foo" is not bound.
        at org.dom4j.io.SAXReader.read(SAXReader.java:482)
        at org.dom4j.io.SAXReader.read(SAXReader.java:321)
        at .<init>(<console>:18)
        at .<clinit>(<console>)
        at RequestResult$.<init>(<console>:9)
        at RequestResult$.<clinit>(<console>)
        at RequestResult$scala_repl_result(<console>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja...

Как я могу обойти это без изменения XML? (Настоящий XML исходит от веб-службы, которую я не могу контролировать)

1 Ответ

0 голосов
/ 20 января 2011

Отключить http://xml.org/sax/features/namespaces:

xmlReader.setFeature("http://xml.org/sax/features/namespaces", false);

Это предотвратит преобразование префиксов пространства имен в URI.

...