我目前正在开发具有XMLBeans绑定而不是默认JAXB绑定的Apache CXF Web服务。我正在使用Java
1.6编译和运行代码。我在运行时收到以下代码段的“ DOM Level 3 Not Implemented”错误:
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)
从上面的错误消息中,很明显,由于在运行时未找到DOM
3级API,因此getTextContent方法引起了异常。如何消除此错误?我猜我将不得不弄清楚哪个jar包含DOM
API,并从该jar中删除所有与dom相关的类,以便代替使用与jdk一起提供的默认DOM
API。或者,是否有一种方法可以使用DOM而不依靠getTextContent方法来获取xml标记的文本内容?
看起来XMLBeans提供了一个基于该异常的,不兼容DOM 3的DOM实现:
java.lang.RuntimeException: DOM Level 3 Not implemented
at org.apache.xmlbeans.impl.store.DomImpl._node_getTextContent(DomImpl.java:2516)
at org.a
pache.xmlbeans.impl.store.Xobj$NodeXobj.getTextContent(Xobj.java:2607)
取而代之的是,getTextContent
您可以遍历所有子节点并从所有类型为text的节点附加值。
package forum12746038;
import java.io.StringReader;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.InputSource;
public class Demo {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
String xml = "<root>Hello <!-- comment -->World</root>";
Document doc = db.parse(new InputSource(new StringReader(xml)));
Element element = doc.getDocumentElement();
NodeList childNodes = element.getChildNodes();
StringBuilder strBldr = new StringBuilder();
for(int x=0; x<childNodes.getLength(); x++) {
Node childNode = childNodes.item(x);
if(childNode.getNodeType() == Node.TEXT_NODE) {
strBldr.append(childNode.getNodeValue());
}
}
System.out.println(strBldr.toString());
}
}
我猜我将不得不弄清楚哪个jar包含DOM API,并从该jar中删除所有与dom相关的类,以便代替使用与jdk一起提供的默认DOM API。
这可能行不通,因为我想象XMLBeans返回一个专门的DOM实现,该实现包装了自己的对象以通过DOM API公开它们。
我最终得到了一个500的错误,这取决于stacktrace,这可能是一个数据格式错误,但我所有的变量都是字符串,所以我根本看不到错误在哪里。此外,我的连接jdbc很好,因为在调试模式下,我可以看到数据库的值,但一旦它进入JSP中,它就不再工作了。你能帮帮我吗? servlet JSP 豆类 BDD连接 堆栈跟踪 我的servlet:
我是robolectric新手,我只想运行简单测试。 我使用Android Studio=>Gradle 如何找到错误的真正源头?零点异常在哪里?
问题内容: 我正在执行以下AJAX调用: 而且没有收到预期的警报消息。相反,Firebug说我收到“未实现501”。 为什么?我需要怎么做才能解决此问题? 如果我转到Firebug中与AJAX调用相对应的URL,则会下载一个JSON文件,其中包含预期的数据。 我注意到的一件事是,萤火虫说的是OPTIONS而不是GET: 替代文字http://grab.by/grabs/b1a13d92a4fc69
问题内容: 我进行了搜索,发现使用jdk 7的QuickTip:VerifyError : 如果您遇到以下类型的错误 那么一个简单的解决方案是添加以下默认JVM参数 如果像我一样在eclipse中进行操作,则转到Window-> Preferences-> Installed JREs->并添加默认参数。 此设置有什么作用?Oracle 刚刚提到它是具有StackMapTable属性的新型类型检查
在TeamCity中运行MSpec构建步骤时,我在TeamCity日志中发现以下错误: 我已经对和MSpec config文件,但它似乎没有帮助。 MSpec运行程序正在本地引用构建代理上的编译DLL,该构建代理在Visual Studio中本地正确运行。有人能解释这个错误的含义以及我如何解决它吗?
这里出了什么问题。我阅读了Spring文档,但没有找到如何使用JPA和自定义方法进行查询。 提前谢了。