Java XML解析

| 我有一个文件,其中依次包含几个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);
    ...
}
    
已邀请:
        我所知道的api中没有什么可以在单个流中解析多个xml文档。我认为您将不得不自己扫描
<?xml ...
标记并拆分输入。解析器在读取标签之前,不会知道它是否命中了下一个xml文档。到那时,它会阻塞,并且下一个xml文档的开始标记已经被读取。 实际上,既然您已提及它,您便可以使用拉式解析器来执行所需的操作。但是我很确定api中的SAX和DOM解析器不会执行您想要的操作。     
        我必须做这样的事情,我在这里用Reader子类回答了(我自己),该子类包装了所有内容以简化使用。     
        通常在XML文件的开头检查“ 3”序列,因为XML文件实际上必须以xml声明开头(不希望在文件中间出现BOM)。因此,我将看一下编码,然后按照每次出现
<?
和\“ xml \”时已经建议的方式分割文件...     

要回复问题请先登录注册