2011-09-12 45 views
1

日志记录子系统将日志写入xml文件。清除错误数据的xml文档

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<log version="1.0">  
<message time="2011-04-11 17:10:10.0020" class="info"> 
la la la la.. 
</message> 

我认为在登录文件中写入可能崩溃。在结果XML日志文件可能包含错误的XML数据串

例如

<message ti 

是存在从清除错误的数据部分的XML文件,但使用正则表达式的方便的方法?

更新:错误的数据部分可能发生在文件中间,不仅在最后。

+0

寻找'宽容'的解析器。例如,XMLUnit项目具有这样的功能。 – Wivani

回答

3

这是不使用XML作为日志格式的一个很好的理由。即使没有崩溃,日志也是从不格式良好的XML,因为您永远不会关闭根标记。

至于如何清洁它?假设您只能截取文件,请阅读文件,查找最后的"</message>",截断那里,添加"</log>",并尝试解析它。

+0

是的,我使用没有形成良好的XML没有关闭标签。 – void

+0

我认为错误的消息(中断的消息)可能发生在xml日志的中间不仅在最后 – void

+0

为什么它是一个XML文件? –