我想打开一个本地xml文件来解析它。
所以我就这一行:saxReader.parse("file.xml");
我有这个错误open failed: ENOENT (No such file or directory)
所以我尝试通过提供类似C:/.../ file.xml的完整路径来解决它
但是存在同样的问题。
我将file.xml放在项目中以解决问题?
由于
答案 0 :(得分:0)
您正在使用XMLReader
。您可以使用它,但在Java中,您最好使用javax.xml.parsers
包中的内容。使用SAXParserFactory
创建SAXParserFactory.newInstance()
,对其进行配置,然后在其上调用newSAXParser()
。如果您绝对必须使用该实现,则仅提供类名称。否则,最好让默认查找机制处理它。至于实际问题,请了解URI syntax for files并使用它,或获取File
实例或InputStream
或InputSource
并将其传递给读者或解析器。
答案 1 :(得分:0)
如果将字符串传递给XMLReader.parse(),它应该是一个完全解析(即绝对)的URL。 file.xml不是绝对URL(它是相对的)。 c:\dir\dir\file.xml
也不是绝对URL - 它是Windows文件名。如果您不理解URL并且不习惯使用它们,那么传递Java文件会更简单:parse(new InputSource(new File('file.xml')))