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

C#保存xml数据的最佳方法,c#,caching,C#,Caching,我正在从web服务请求数据并接收一个xml文件。不要淹没服务最好是缓存/存储xml,这样当应用程序再次启动时,它将使用缓存的xml。接收到的xml中的数据将每24小时更改一次,因此在从旧请求传递时间之后,应用程序必须创建新的请求 保存这些数据的最佳解决方案是什么 编辑:可能使用SQLite保存一些历史记录?您可以将其流式传输到一个文件: /// saving it : System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); Syste

我正在从web服务请求数据并接收一个xml文件。不要淹没服务最好是缓存/存储xml,这样当应用程序再次启动时,它将使用缓存的xml。接收到的xml中的数据将每24小时更改一次,因此在从旧请求传递时间之后,应用程序必须创建新的请求

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


编辑:可能使用SQLite保存一些历史记录?

您可以将其流式传输到一个文件:

/// 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));

如果我正确地理解了,可以考虑将数据加载到<代码> XML文档或<代码> XObjs,并将其存储在缓存中,使用<代码> Cache依赖> <代码>:

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"); 
} 

问题不在于我试过什么。问题是如何获得一些想法,怎样做才是最好的方法!是的,这可能是最常见的解决方案,但也可能有更好的解决方案。。(:我认为您需要改进您的问题。有几种方法可以做到这一点,但“最佳”取决于您的需求。在您的场景中,什么对您最重要?虽然这是一个很好的解决方案,但在应用程序重新启动之间不会持续存在。