2012-10-11 71 views
2

由于C#中的XMLReader具有不会一次将整个XML文档集成到内存中的属性,所以对于大型XML文件似乎非常有用。 Java有类似的东西吗?我发现Java也有一个名为XMLReader的类,但它是否也是这样做的?任何人请澄清。Java相当于XMLReader C#

感谢

回答

2

有加载XML的方法有两种:它加载整个文档中的内存和SAX解析器读取XML并使用一个处理器来分析内容DOM文档。

您可能会看看SAX解析器。

1

实际上,Java有一个名为XMLReader接口。作为一个接口而不是一个类,它实际上并没有做任何事情,直到它实现为止。

但是它是解析SAX包的一部分,它不会加载整个文档,使用通过读取XML文本触发的事件。

您可能想要阅读this tutorial以开始使用SAX,和/或在Google中搜索SAX。

Java中还有其他的XML解析包。 DOM会加载整个文档,因此应该避免使用大文件。 StAX是一个较新的选项,它基于拉动系统而不是SAX使用的推动,但同样不会加载整个文档。