如何从文件中有效地解析连接的XML文档

Juh*_*älä 9 java xml parsing

我有一个由连接的有效XML文档组成的文件.我想有效地分离单个XML文档.

连接文件的内容将如下所示,因此连接文件本身不是有效的XML文档.

<?xml version="1.0" encoding="UTF-8"?>
<someData>...</someData>
<?xml version="1.0" encoding="UTF-8"?>
<someData>...</someData>
<?xml version="1.0" encoding="UTF-8"?>
<someData>...</someData>
Run Code Online (Sandbox Code Playgroud)

每个单独的XML文档大约1-4 KB,但可能有几百个.所有XML文档都对应于相同的XML Schema.

有什么建议或工具吗?我在Java环境中工作.

编辑:我不确定xml声明是否会出现在文档中.

编辑:我们假设所有xml文档的编码都是UTF-8.

Jay*_*Jay 3

正如 Eamon 所说,如果您知道 <?xml> 内容将始终存在,那就继续吧。

如果失败,请查找结束文档级标签。也就是说,扫描文本计算您的深度。每次看到以“<”开头但不是“</”并且不以“/>”结尾的标签时,深度计数加 1。每次看到以“</”开头的标签时,请减去 1。每次减去 1 时,请检查现在是否为零。如果是这样,您已到达 XML 文档的末尾。