我想通过使用Java中的XPath读取XML数据,通过关键字(R17:25:37.267或S17:23:46.470)将大型xml文件拆分为许多小型xml文件。用Java如何做到这一点? 谢谢!
[S17:23:46.470][ DE01][00037620000000000000000<?xml version="1.0" encoding="GB18030"?>
<ROOT>
<HEAD>
<VERSION/>
<MSG_TYPE>2</MSG_TYPE>
.............
<RET_MSG/>
</HEAD>
<BODY>
<REQUEST>
<IDE_INFO>
......................
</IDE_INFO>
<IDE_INFO>
.....................
</IDE_INFO>
<IDE_INFO>
......................
<IDE_INFO>
....................
</IDE_INFO>
</IDE_ACC>
</RESPONSE>
</BODY>
</ROOT>]
[R17:25:37.267][ DE01][0002882BA207D8F5E8E6C9F<?xml version="1.0" encoding="GBK" ?><ROOT>
<HEAD>
<VERSION></VERSION>
<TERM_NO>000</TERM_NO>
</HEAD>
<BODY>
<REQUEST>
.................................
<IDE_INFOCOUNT>00000015</IDE_INFOCOUNT>
<IDE_INFOCount>15</IDE_INFOCount>
<IDE_INFO>
...............................
</WITHDRAW_DETAIL>
</REQUEST>
</BODY>
</ROOT>]
答案 0 :(得分:1)
您向我们显示的输入内容不是您的标题和问题中所述的XML文件,它是一个包含文本块和XML块的文件。如果那是您的实际输入,那么您将不得不自己编写某种解析器,因为XML解析器将无法处理非XML输入。
如果幸运的话,字符串<?xml...?>
仅出现在XML块的开头,因此在简单的Java程序中识别它并不难。
一个更好的主意:XML是数据交换的良好标准。为什么不说服那些生成此材料的人使用XML?它将使每个人的生活更加轻松。