使用SAX打开XML文件

时间:2011-10-24 11:54:13

标签: java xml sax

我想打开一个本地xml文件来解析它。 所以我就这一行:saxReader.parse("file.xml"); 我有这个错误open failed: ENOENT (No such file or directory) 所以我尝试通过提供类似C:/.../ file.xml的完整路径来解决它 但是存在同样的问题。

我将file.xml放在项目中以解决问题?

由于

2 个答案:

答案 0 :(得分:0)

您正在使用XMLReader。您可以使用它,但在Java中,您最好使用javax.xml.parsers包中的内容。使用SAXParserFactory创建SAXParserFactory.newInstance(),对其进行配置,然后在其上调用newSAXParser()。如果您绝对必须使用该实现,则仅提供类名称。否则,最好让默认查找机制处理它。至于实际问题,请了解URI syntax for files并使用它,或获取File实例或InputStreamInputSource并将其传递给读者或解析器。

答案 1 :(得分:0)

如果将字符串传递给XMLReader.parse(),它应该是一个完全解析(即绝对)的URL。 file.xml不是绝对URL(它是相对的)。 c:\dir\dir\file.xml也不是绝对URL - 它是Windows文件名。如果您不理解URL并且不习惯使用它们,那么传递Java文件会更简单:parse(new InputSource(new File('file.xml')))