如何从xml解析二进制数据?

时间:2012-03-08 16:39:36

标签: java xml jaxb sax stax

尝试使用STAX为学校项目解析xml。如果我有一个元素:

<binary data></binary data>

如果此数据需要高达250 mb,如何处理? XMLStreamReader byte[] getElementAsBinary() private byte[] readBinary(XMLStreamReader2 sr) throws XMLStreamException { Stax2Util.ByteAggregator aggr = new Stax2Util.ByteAggregator(); byte[] buffer = aggr.startAggregation(); while (true) { int offset = 0; int len = buffer.length; do { int readCount = sr.readElementAsBinary(buffer, offset, len); if (readCount < 1) { // all done! return aggr.aggregateAll(buffer, offset); } offset += readCount; len -= readCount; } while (len > 0); buffer = aggr.addFullBlock(buffer); } } 但我无法保留这笔数据。如果有人可以帮助我,我会非常感激。

修改

是否有可能以某种方式读取数据流?目前我有:

{{1}}

0 个答案:

没有答案