我需要使用Visual Basic 6.0将错误日志写入XML文件。有一个简单的方法吗?
错误日志将包含错误号,来源,desc和时间戳。
谢谢, 杰夫
答案 0 :(得分:4)
可能最好使用Microsoft的MSXML库来实现这一目标。
知识库中有一个示例:http://support.microsoft.com/kb/286817
答案 1 :(得分:1)
Microsoft MSXML库是您的第一个停靠点,但在您决定使用它之前需要考虑一些事项。
使用MSML库将错误消息附加到Xml将在每次打开时解析并加载Xml文件。随着Xml文件的增长,您会发现您的应用程序会慢慢爬行。
如果您可以“只是”将错误附加到文件的末尾,那将会很好,但是由于结束标记,这不是直接的,但可以完成。
如果您可以控制如何创建Xml文件,则可以通过将Xml文件拆分为两个,一个带有标题,一个带有xml的主体来解决此性能瓶。然后,您可以附加到正文文件的末尾(通过使用Xml编写器类,或者只是将文本附加到文件中)。
有关详细信息,请参阅Efficient Techniques for Modifying Large XML Files
但是,如果您将一个错误写入xml文件,并且下一个错误进入另一个Xml文件,则所有这些都是不必要的。在这种情况下,请使用MSXML
希望这有帮助。
答案 2 :(得分:0)
如果您只是在编写日志文件,我建议您连接一个这样的字符串:
Public Function GetXmlEntry(errNumber as Long, description as String) as String GetXmlEntry = "<entry><error-number>" & errNumber & "</error-number><description>" & description & "</description></entry>" End Function
此处不需要使用XML库,甚至会不必要地损害性能(即没有优势)。
(编辑)正如在评论中指出的那样,编写正确的XML至少需要两个额外的步骤才能进行单一条目:首先,需要正确地转义一些特殊字符(不应该那很难);第二,需要对所有XML文件使用正确的(=相同的)编码,与标题中的声明一致(对于这个我的VB-Fu是不够的 - 在参考中稍微挖掘将有所帮助)。