Почему я получаю сообщение об ошибке «Уровень 3 DOM не реализован» во время выполнения?
В настоящее время я работаю над созданием веб-службы Apache CXF с привязкой XMLBeans вместо привязки JAXB по умолчанию. Я компилирую и запускаю код с Java 1.6. Я получаю & quot; DOM Уровень 3 Не реализован & quot; ошибка во время выполнения для следующего фрагмента кода:
ExtType[] extTypeList = p.getExtArray();
for (ExtType extType : extTypeList) {
Node node = extType.getDomNode();
NodeList objList = node.getChildNodes();
for (int i = 0; i < objList.getLength(); ++i) {
Node text = (Node) objList.item(i);
if (text.getNodeName() != null
&& text.getNodeName() == XmlConstant.NODE_NAME) {
info.setDuration(text
.getTextContent());
}
}
}
Точная ошибка, отображаемая в JBoss, выглядит следующим образом:
java.lang.RuntimeException: DOM Level 3 Not implemented
at org.apache.xmlbeans.impl.store.DomImpl._node_getTextContent(DomImpl.java:2516)
at org.apache.xmlbeans.impl.store.Xobj$NodeXobj.getTextContent(Xobj.java:2607)
Из приведенного выше сообщения об ошибке ясно, что метод getTextContent вызывает исключение, поскольку API DOM уровня 3 не обнаружены во время выполнения. Как мне устранить эту ошибку? Я предполагаю, что мне придется выяснить, какой jar содержит API DOM, и удалить все связанные с dom классы из этого jar, чтобы вместо них использовались API DOM по умолчанию, которые поставляются вместе с jdk. Альтернативно, есть ли способ получить текстовое содержимое тега xml, используя DOM, не полагаясь на метод getTextContent?