1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
public static class XMLHelper
{
public static string SerializeToXMLString<T>(T XMLObj, Encoding encoding, bool removeNamespace)
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
MemoryStream memStrm = new MemoryStream();
XmlTextWriter xmlSink = new XmlTextWriter(memStrm, encoding);
xmlSink.Formatting = Formatting.Indented;
if (removeNamespace)
{
XmlSerializerNamespaces xs = new XmlSerializerNamespaces();
xs.Add("", "");
xmlSerializer.Serialize(xmlSink, XMLObj, xs);
}
else
xmlSerializer.Serialize(xmlSink, XMLObj);
return encoding.GetString(memStrm.ToArray());
}
public static void SerializeToXMLFile<T>(T XMLObj, string Filename, Encoding encoding, bool removeNamespace)
{
File.WriteAllText(Filename, SerializeToXMLString<T>(XMLObj, encoding, removeNamespace));
}
public static T DeserializeFromXMLString<T>(string XML) where T : new()
{
T XMLObj = new T();
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
StringReader sr = new StringReader(XML);
XMLObj = (T)xmlSerializer.Deserialize(sr);
return XMLObj;
}
public static T DeserializeFromXMLFile<T>(string Filename) where T : new()
{
if (!File.Exists(Filename))
throw FileNotFoundException();
return DeserializeFromXMLString<T>(File.ReadAllText(Filename));
}
}
|