我有一个文件,其中包含几个如下所示的XML文档。Java XML解析
<?xml version="1.0"?><Node>...<Node>...</Node>...</Node><?xml version...
其中重复几次。
我使用Java,我有一个FileChannel打开文件,我有一个字节缓冲区读取。如果有内置的方式或者更简单的方式或已经解决的方法来用Java对XML字节进行部分解析,将不胜感激。例如像这样:
FooParser parser = new FooParser();
while (...)
{
buffer.flip();
parser.parse(buffer);
buffer.compact();
if (parser.done())
{
xmlDocs.add(parser.xml());
parser.reset();
}
file.read(buffer);
...
}
解析器应该能够检测到当前XML权限的结束?它为什么要读取超过必需的内容,即超过当前的XML。 – foobarometer 2011-06-12 06:28:06
解析器应该检查文档格式。一条规则是它有一个根标签。解析器将继续读取直到它结束,或者直到遇到第二个根级标记并引发异常。此时,它将读取第二个<?xml'标签。 – 2011-06-12 06:31:56
谢谢特德,我同意你的意见。这会违反良构规则,解析器需要验证。如果有人有任何见解,我会留下一段时间的问题,谢谢! – foobarometer 2011-06-12 06:38:36