从错误的数据清理xml文档

时间:2011-09-12 13:18:07

标签: .net 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文件的便捷方法,除了使用regexp?

upd:错误的数据部分不仅可以在文件中间出现,而且最终也会出现。

1 个答案:

答案 0 :(得分:3)

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

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