将节点附加到XML文件

时间:2017-06-15 12:36:45

标签: c# xml logging append

我需要将一个节点附加到用作日志的可能很大的XML文件中。一次插入与下一次插入之间的平均时间为200ms。目前我使用以下方法:

private void LogMessage(Message m)
{
    lock (loglock)
    {
        // load XML
        var doc = new XmlDocument();
        doc.Load(MyLogFilename);
        var root = doc.ChildNodes[0];

        // append node
        var node = GetXmlNode(doc, m);
        root.AppendChild(node);

        // save new XML
        doc.Save(MyLogFilename);
    }
}

我需要锁定,因为可以从不同的线程调用该方法。它有效,但我想避免每次加载整个文件。有没有更好的方法或任何解决方法才能获得相同的结果?

0 个答案:

没有答案