我的XML架构如下
<?xml version="1.0" encoding="utf-8"?>
<Diary><year id="2010">
<month id="04">
<day id="14">
<title id="Frist">
<Item>dd</Item>
<mood>dd</mood>
</title>
<title id="Secend">
<Item>d2</Item>
<mood>d3</mood>
</title>
</day>
</month>
</year>
</Diary>
我这么把某个day 中的多条数据读成一个DataSet,方法不限!
<?xml version="1.0" encoding="utf-8"?>
<Diary><year id="2010">
<month id="04">
<day id="14">
<title id="Frist">
<Item>dd</Item>
<mood>dd</mood>
</title>
<title id="Secend">
<Item>d2</Item>
<mood>d3</mood>
</title>
</day>
</month>
</year>
</Diary>
我这么把某个day 中的多条数据读成一个DataSet,方法不限!
ds.ReaderXml();
XmlDocument doc = new XmlDocument();
doc.Load(@"e:\day.xml");
XmlNode day = doc.GetElementsByTagName("day")[0];//或者你要的那个节点,我这个方法不太合适,但是我byID的时候没有取到,不知道为什么,总之不管用什么方法取到那个ID就行了
DataSet ds = new DataSet();
string str = "<day id='14'>"+day.InnerXml+"</day>";// 我这是拼接的,让他们有一个根节点,才能读进去
StringReader sr = new StringReader(str);
ds.ReadXml(sr);
foreach(DataRow dr in ds.Tables[0].Rows)
{
for (int i = 0; i < dr.ItemArray.Length; i++)
{
Console.Write(dr[i] + " ");
}
Console.WriteLine();
}
Console.ReadKey();我在控制台实验了一下,呵呵,希望对你有帮助