CS code:
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
namespace RefecCTest
{
public class Program
{
static void Main(string[] args)
{
const string XML_URL = @"D:/tc/xmlserial.xml";
TestDataSet tds = new TestDataSet();
TestData td = new TestData();
td.Title = "hello,one!";
tds.Add(td);
TestData td1 = new TestData();
td1.Title = "hello,two!";
tds.Add(td1);
XmlSerializer xs = new XmlSerializer(typeof(TestDataSet));
xs.Serialize(Console.Out, tds);
XmlReader xtReader = new XmlTextReader(XML_URL);
TestDataSet tds1 = (TestDataSet)xs.Deserialize(xtReader);
foreach (TestData tdt in tds1)
{
Console.WriteLine(tdt.Title);
}
}
public class TestData
{
private string _title = "";
public String Title
{
get { return _title; }
set { _title = value; }
}
// public string tm = null;
}
[XmlRootAttribute("yourRootName")]
public class TestDataSet : System.Collections.CollectionBase
{
public void Add(TestData item)
{
List.Add(item);
}
public TestData this[int index]
{
get
{
if (index >= Count || index < 0)
{
return null;
}
return (TestData)List[index];
}
}
//doing
}
}
}
xmlserial.xml:
<?xml version="1.0" encoding="gb2312"?>
<yourRootName>
<TestData>
<Title>hello,one!</Title>
</TestData>
<TestData>
<Title>hello,two!</Title>
</TestData>
</yourRootName>