public class RWPhotoXmlUtils
{
public static void WriteXml(string foldName,string fileName,Dictionary<int, byte[]> dict)
{
try
{
XElement root = new XElement("Root");
foreach (KeyValuePair<int, byte[]> obj in dict)
{
XElement photo = new XElement("Photo");
XElement riderId = new XElement("RiderId", obj.Key);
string str = System.Convert.ToBase64String(obj.Value);
XElement riderPhoto = new XElement("RiderPhoto", str);
photo.Add(riderId);
photo.Add(riderPhoto);
root.Add(photo);
}
string xmlString = root.ToString();
IsolatedStorageUtils.WriteDataToFile(foldName, fileName, xmlString);
}
catch (Exception ex)
{
DebugUtils.Debug("Exception occured at RWPhotoXmlUtils.cs WriteXml method:", ex);
}
}
public static Dictionary<int, byte[]> ReadXml(string fileName)
{
Dictionary<int, byte[]> dict = new Dictionary<int, byte[]>();
try
{
string xmlString = IsolatedStorageUtils.ReadDataFromFile(fileName);
XElement xml = XElement.Parse(xmlString);
var myCollection = from Photo in xml.Descendants("Photo")
select new
{
RiderId = Photo.Element("RiderId").Value,
RiderPhoto = Photo.Element("RiderPhoto").Value
};
foreach (var obj in myCollection)
{
byte[] bytes = System.Convert.FromBase64String(obj.RiderPhoto);
dict.Add(Int32.Parse(obj.RiderId), bytes);
}
}
catch (Exception ex)
{
DebugUtils.Debug("Exception occured at RWPhotoXmlUtils.cs ReadXml method:", ex);
}
return dict;
}
}