我的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,方法不限!

解决方案 »

  1.   

    DataSet 有自带的方法
    ds.ReaderXml();
      

  2.   

    看题啊!朋友我不是全部读出来时的当day 的ID=某个值的全部记录,呢那种事读的全部记录,我也会呢,真是的!
      

  3.   

    给你提供个思路。
         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();我在控制台实验了一下,呵呵,希望对你有帮助
      

  4.   

    还不能要id把<day id='14'>改成<day>才行