定位到  <Schedule>,取所有的子元素遍历  XmlNodeList basenode = xmlDoc.GetElementsByTagName("Schedule");
                if (basenode.Count == 0)
                    return false;
                foreach (XmlNode item in basenode)
                {

解决方案 »

  1.   

    虽然不是最简洁的,但是功能能实现
     XmlDocument doc = new XmlDocument();
                    doc.Load("11.xml");
                    XmlNode node = doc.SelectSingleNode("ShowList");
                    XmlNodeList list = node.SelectNodes("Movie");
                    foreach (XmlNode item in list)
                    {
                        XmlNode Schedule = item.SelectSingleNode("Schedule");
                        XmlNodeList ItemList = Schedule.SelectNodes("Item");
                        foreach (XmlNode info in ItemList)
                        {
                            string text = info.InnerText;
                        }
                    }
      

  2.   

    我是这样写的 取出来的值放在treeView控件上 向楼上说的不是很简洁  取两个节点相同名字的值可以借鉴一下  有很好的也请代码一下 大家一起学习学习 
     XmlDocument xm = new XmlDocument();
            int u = 1;
            private void 获取新列表ToolStripMenuItem_Click(object sender, EventArgs e)//获取新信息
            {
                treeView1.Nodes.Clear();
                xm.Load("ShowList.xml");
                 XmlNodeList movies = xm.SelectNodes("/ShowList/Movie/Name");
                 foreach (XmlNode item in movies)
                 {
                     TreeNode t = new TreeNode(item.InnerText);
                    XmlNodeList cc =  xm.SelectNodes("/ShowList/Movie["+u+"]/Schedule/Item");
                    foreach (XmlNode itemw in cc)
                    {
                        TreeNode b = new TreeNode(itemw.InnerText);
                        b.Tag = u;
                        t.Nodes.Add(b);
                    }
                     treeView1.Nodes.Add(t);
                     u++;
                 }
            }
      

  3.   


      var query = from ele in XElement.Load("1.xml").Elements("Movie")
                            let item = ele.Element("Schedule").Elements("Item")
                            select item;
                foreach (var item in query)
                {
                    foreach (var p in item)
                    {
                        Console.WriteLine(p.Value);
                    }
                }
                Console.Read();我感觉也很不整洁。应该还有更简洁的写法
      

  4.   

    两个key值相同,取值是不是取不到啊 ?不知道取的是哪个的值,就会为空字符串,对吗?