我正在尝试从本地XML文件创建文档对象。
这部分代码:
DocumentBuilderFactory factoria = DocumentBuilderFactory.newInstance();
DocumentBuilder constructor = factoria.newDocumentBuilder();
Document documento = constructor.parse(ClassLoader.getSystemResourceAsStream(URLXML));
导致以下异常:
线程"AWT-EventQueue-0"异常java.lang.IllegalArgumentException: InputStream不能为空javax.xml.parsers.DocumentBuilder。解析(未知源)
getsystemresourcesstream()只应该在找不到源时返回null,并且我已经检查了文件url是否正确存储在字符串中(它是C:file.xml,这是文件的正确位置)。
那么什么是失败呢?我做错了什么?
将file.xml保存在classpath中。如果你的是一个web应用程序,把它放在web - inf中,或者把它放在你执行独立应用程序的java命令的文件夹中。
我在使用getSystemResourceAsStream
时遇到了同样的错误,所以我使用:
parser.parse(new File(""), handler);