C#保存xml数据的最佳方式

时间:2011-10-06 18:59:05

标签: c# caching

我从Web服务请求数据并接收xml文件。不要淹没服务好主意就是缓存/存储xml,这样当应用程序再次启动时,它将使用缓存的xml。收到的xml中的数据将每24小时更改一次,因此从旧请求应用程序传递的时间无论如何都必须创建新的数据。

保留这些数据的最佳解决方案是什么?

编辑:也许使用SQLite保留一些历史记录?

2 个答案:

答案 0 :(得分:1)

您只需将其流式传输到文件:

/// saving it :
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
System.IO.File.WriteAllText(filename, doc.Value);

/// loading it back in :
System.Xml.XmlDocument xdoc = new System.Xml.XmlDocument();
xdoc.LoadXml(System.IO.File.ReadAllText(filename));

答案 1 :(得分:0)

如果我理解正确,您可以考虑将数据加载到XmlDocumentXDocument并将其存储在缓存中CacheDependency

XmlDocument xDoc = new XmlDocument(); 

if (Cache.Get("MenuData") == null) 
{ 
    xDoc.Load(Server.MapPath("/MenuData.xml")); 
    Cache.Insert("SiteNav", xDoc, new CacheDependency(Server.MapPath("/MenuData.xml"))); 
} 
else 
{ 
    xDoc = (XmlDocument)HttpContext.Current.Cache.Get("MenuData"); 
}