2013-06-25 36 views
0

是否可以将XML树“拆分”为更多子集,然后使用不同的解析器进行解析?是否可以在JAVA中结合使用XML解析器?

DOM解析器将整个文档放到内存中,然后分析它,所以我想没有必要使用它来读取子集。 我可以使用Push和Pull解析器(SAX和StAX)来解析子集吗?

感谢

+0

下可能会有帮助:http://stackoverflow.com/questions/5169978/split-1gb-xml-file-using-java/5170415#5170415 –

+0

我有3GB的XML文件上,我想使用DOM(在XML的一小部分),然后使用SAX和StAX。 DOM最好的事情是用StAX创建新的XML文件,然后用DOM读取新的XML。我不是在寻找完整的代码,我不是在寻找代码,更像是讨论。谢谢 – ivanz

+0

@BlaiseDoughan:谢谢。其实我的问题是不好的...我正在寻找像这样的东西:什么时候将StAX和SAX结合起来用于阅读XML文件很好 – ivanz

回答

1

其实我的问题是坏的......我期待这样的事情:当 是很好的StAX和SAX结合读取XML文件

只要有可能我会建议坚持使用StAX API。他们更快,恕我直言比SAX更容易使用。当你使用ContentHandler来处理XML和SAX时,这是个例外。如果你有StAX XMLStreamReader并且需要与ContentHandler互动,那么你可以使用Transformer

StAXSource source = new StAXSource(xmlStreamReader); 
SAXResult result = new SAXResult(conentHandler); 
transformer.transform(source, result); 
相关问题