如何在一个文档中解析多个连续的xml文件?

nep*_*une 1 java xml xml-parsing

我有一个大文本文件,它是一系列XML有效文档,看起来像这样:

<DOC>
   <TEXT> ... </TEXT>
    ...
</DOC>
<DOC>
    <TEXT> ... </TEXT>
    ...
</DOC>
Run Code Online (Sandbox Code Playgroud)

没有<?xml version="1.0">,<DOC></DOC>分隔每个单独的xml.在Java中解析这个并<TEXT>在每个中获取值的最佳方法是什么<DOC>

如果我将整个内容传递给DocumentBuilder,我会收到错误消息,说文档格式不正确.有没有比简单遍历更好的解决方案,为每个人构建一个字符串<DOC>

Nir*_*hah 5

一个有效的 XML文档必须有一个根目录下,你可以指定所有其他元素的元素.此外,在文档中只能存在一个元素.看看XML规范(见第2点)

因此,为了克服您的问题,您可以将文本文件的所有内容转换为String(或StringBuffer/StringBuilder ...)并将此字符串放在其间<root></root>标记例如,

String origXML = readContentFromTextFile(fileName);
String validXML = "<root>" + origXML + "</root>";
//parse validXML
Run Code Online (Sandbox Code Playgroud)