java - 在 Java 中使用 XML 解析器创建文档变量时出错

标签 java xml parsing dom netbeans

最近我在运行我的代码时遇到了错误

我正在使用这段代码来创建文档文件


DocumentBuilderFactory bFactory = DocumentBuilderFactory.newInstance();

DocumentBuilder dBuilder = bFactory.newDocumentBuilder();

Document doc = (Document) dBuilder.parse(xmlfile);

我遇到了这个错误


Exception in thread "main" java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl cannot be cast to javax.swing.text.Document at rss.RSS.main(RSS.java:72)

C:\Users\user\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1

BUILD FAILED (total time: 0 seconds)


我不太熟悉编程,但我有任务要做。如果你能帮上忙,我会很高兴

最佳答案

似乎用于以下行的导入是 javax.swing.text.Document:

Document doc = (Document) dBuilder.parse(xmlfile);

一种可能的解释是您的源文件同时使用了以下两个类:

javax.swing.text.Document
org.w3c.dom.Document

如果您试图在同一个源文件中同时执行 Swing 和 XML dom 操作,那么这个解释就很有意义。解决方法是在此处使用完全限定的类名,例如

org.w3c.dom.Document doc = (org.w3c.dom.Document) dBuilder.parse(xmlfile);

请注意,您可以还使 org.w3c.dom.Document 成为主要导入,然后使用 javax.swing.text.Document Swing 文档类无处不在。实际上,您可能希望在任何地方都保持一致,即对所有 Swing 或所有 org.w3c.dom 类使用完全限定。最常用的类可能是您选择导入的类,这将使您不必输入最多的包名称。

关于java - 在 Java 中使用 XML 解析器创建文档变量时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45406481/

相关文章:

android - 解析布局中的样式时出错

java - 多段式钢丝绳

android - RecyclerView 布局管理器列表项占据了整个屏幕

Java 删除 ResponseBody 中的属性

xml - XSLT - 如何选择顶部 a 到顶部 b

xml - Mulesoft DataWeave 2.0 - 有条件地更改单个嵌套值

javascript - Google Apps 脚本 - 将 gmail 中的数据提取到电子表格中

python - 扩展一个以 C 对象作为参数的 Python 函数

java - 如何在java中用 "\\t"分割字符串

编译时出现 Java 泛型错误