C # Лучший способ хранить данные XML - PullRequest
0 голосов
/ 06 октября 2011

Я запрашиваю данные из веб-службы и получаю XML-файл. Не следует загружать службу, хорошей идеей будет кэширование / хранение XML-данных, поэтому при повторном запуске приложения оно будет использовать этот кэшированный XML-файл. Данные в полученном XML-файле будут меняться каждые 24 часа, поэтому после того, как время из старого запроса будет передано, приложение должно в любом случае создать новое.

Что было бы лучшим решением для хранения этих данных?

РЕДАКТИРОВАТЬ: Может быть, использовать SQLite, чтобы сохранить историю?

Ответы [ 2 ]

1 голос
/ 06 октября 2011

Вы можете просто передать его в файл:

/// 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));
0 голосов
/ 07 октября 2011

Если я правильно вас понимаю, вы можете загрузить данные в XmlDocument или XDocument и сохранить их в кеше с 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"); 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...