XMLÐòÁл¯ - .NET¼¼Êõ / C#
ÎÒ²»ÖªµÀÓÐûÓа취¿ÉÒÔ¸øÈÎÒâÒ»¸öÀà½øÐÐÐòÁл¯ºÍ·´ÐòÁл¯²Ù×÷¡£
C# code:
public static void Serial<T>(T[] items, string path)
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T[]));
TextWriter writer = new StreamWriter(path);
try
{
xmlSerializer.Serialize(writer, items);
}
finally
{
writer.Close();
}
}
public static T[] Deserial<T>(string path)
{
if (!File.Exists(path)) return new T[0];
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T[]));
FileStream fs = new FileStream(path, FileMode.Open);
T[] items;
try
{
items = (T[])xmlSerializer.Deserialize(fs);
}
finally
{
fs.Close();
}
return items;
}
Õâ¸öÊDZê×¼µÄxmlÐòÁл¯·´ÐòÁл¯µÄ·½·¨¡£Ò²ÐУ¬¾ÍÊDz»ÄÜÍêÈ«µÄ·ûºÏÎÒÒªÇó¡£
±ÈÈçÎÒµÄÀà
C# code:
public class A
{
public string P1;
}
ÎÒÈçºÎ×ö¶¼¿ÉÒÔ£¬µ«Èç¹ûÎÒÐòÁл¯Éú³ÉÁË"test.xml"Îļþ¡£
ÎÒÓÖÀ©Õ¹ÁËÀà±äΪ£º
C# code:
public class A
{
public string P1;
pulbic string P2;
}
ÎÒÓ÷´ÐòÁл¯µÃµ½µÄA[]¾Í»á¶¼ÊǿյÄÁË
Ïà¹ØÎÊ´ð£º
´ÓÊý¾Ý¿âÖвéѯһÕűíµÄÊý¾Ý
select ²¿ÃÅ,ÐÕÃû from tb
ÈçºÎ²ÅÄÜÉú³ÉÏÂÃæµÄxml¸ñʽ
XML code:
<folder state="unchecked" label="È«²¿">
¡¡¡¡ <folder state="unchecked&qu ......
ÎÒÓÐÒ»¸öÀàËÆµÄxmlµÄ string£¬Ïëͨ¹ý±éÀúÔõô¸öxml Êä³öÎÒÏëÒªµÄelementµÄÖµ
xml Ϊ£º
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_XML_ME ......
ΪʲôÎҵijÌÐòµ÷ÓÃXMLÅäÖÃÎļþÖеİ¢À²®ÎÄÏÔʾ²»³öÀ´£¿ÆäËûµÄÓïÖÖ¶¼¿ÉÒÔ£¬ÈçÖÐÎÄ£¬Ó¢ÎÄ£¬µÂÎͼ¿É¡£
ÎÒ½«XMLµÄ±àÂë¸ÄΪutf-8ºÍunicodeµÄµ½µÃ½á¹û¶¼Ò»Ñù.
°¢À²®ÎĵÄ×Ö¿âÄãÓÐô£¿
ÓÐ,ÎÒµÄEXEÊÇ·ÅÔÚpc»úÉÏÖ´Ðе ......
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<id="1">
<user="test1" pass="12345" />
& ......