繁体   English   中英

将文本文件标签解析为xml-Java

[英]Parse text file tags as xml - Java

我有一个日志文本文件,由几个标签组成,如下所示:

<log level="info" id="12144" ....> <msg> test msg </msg> </log>

我想解析此文件,因此我认为,由于它看起来像XML,因此可以将xml( <?xml version="1.0"? >)和根( <file> )标记添加到文件中,然后使用DOM解析器。

但是目前,我面临一个在文件开头添加文本的问题,因为所有可用的选项都将被覆盖,或者将原始文件复制到一个临时位置,然后添加想要的文本,这不适用于我我正在处理大于100 MB的文件。

I use the below code to try to add the text at the beginning, and I tried several solutions or classes other than RandomAccessFile

RandomAccessFile RAF = new RandomAccessFile(file, "rw");
        RAF.getChannel().position(0);

        RAF.write(("<?xml version=\"1.0\" encoding=\"UTF-8\"?> \r\n <file> \r\n").getBytes()); 

        RAF.close();

您是否有任何建议在开头添加文本或按原样解析文本文件并提取元素?

谢谢,

如果您知道条目的精确模式, 如果该模式不会再更改它的相对容易提取使用正则表达式,如条目:

"<log *level=\"([^\"]*)\" *id=\"([^\"])\" *> ..."

您能否仅以StringStream或其他形式获取文件内容,然后将内容添加到开头? 之后,您仍然可以解析文档String/Stream

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM