java VTD-Parser Logic

时间:2015-06-07 11:11:55

标签: java xml parsing vtd-xml

我在java中实现了VTD-Parser,它成功地解析了大约500 MB的XML文件,并且能够在excel中编写。 我知道DOM解析器首先创建了一个树节点结构然后获取数据,而SAX是一个基于事件的解析器。但是什么使得VTD解析文件如此简单有效? 我试图搜索,我有很多实现的例子,但从来没有得到逻辑。我尝试了下面的链接来获得想法,但没有得到清晰的图片。 VTD_Parser

如果有人可以解释这个简短的想法。

1 个答案:

答案 0 :(得分:1)

根据该主题的Wikipedia page,VTD-XML(XML的虚拟令牌描述符)利用非exctractive解析,这意味着它不会将文档中的数据提取到某些基于内存的数据结构中,但是而是构建一个数据结构,其中包含指向原始文档的指针(以偏移和长度的形式)。这个处理显然是内存效率最高的,但我认为这是以性能为代价的,因为在请求数据时不可避免的IO操作已完成(但缓存在这里可以提供很多帮助)。

在我看来,当输入非常大且请求的数据非常小(数据挖掘方案类型)时,tis处理最有用