string st=@"<?xml version='1.0' encoding='UTF-8'?><itemss> <seller_id>myxiequ</seller_id> <outer_id>3286</outer_id><title>【梅森之邦】优雅淑女毛皮装饰浅口低跟女单鞋(驼色)[限时199]</title> <type>fixed</type> <available>1</available> <price>199.00</price> <brand>梅森之邦</brand> <tags>梅森之邦</tags> <image>http://images.myxiequ.com/ProductImages/2011/113SS/113SS0C0D0B/M113SS0C0D0B-001.jpg</image> <scids>23</scids> <post_fee>0</post_fee> <props>0</props> <showcase>0</showcase> <href>http://www.myxiequ.com/Product/P-113SS0C0D0B.aspx</href> </itemss>";//xml文件
XElement xel = XElement.Parse(strParams);
            var order = from item in xel.Elements("itemss")//这里该怎么写啊?这样写法找不到内容
                              select new
                              {
                                  outerid = item.Element("outer_id").Value,
                                  name = item.Element("title").Value
                              };
            foreach (var OrderNuber in order)
            {
                if (!string.IsNullOrEmpty(OrderNuber.outerid))
                {
                    Next += OrderNuber.outerid + ";" + OrderNuber.name + "|";
                }
            }

解决方案 »

  1.   


                XDocument doc = XDocument.Parse(st);            var order = from item in doc.Elements("itemss")//这里该怎么写啊?这样写法找不到内容
                            select new
                            {
                                outerid = item.Element("outer_id").Value,
                                name = item.Element("title").Value
                            };
      

  2.   

    XDocument  和 XElement 区别是什么?
      

  3.   

    XDocument 会加载根节点,而XElement 不加载http://msdn.microsoft.com/zh-cn/library/bb675196.aspx
      

  4.   

    你的 xel本身已经是itemss 这一级了,.Elements()是要它的子级,只能是seller_id ,outer_id....所以你写xel.Elements("itemss")肯定找不到内容,写成xel.Elements("seller_id ")有内容。
      

  5.   

      var order = new {
                        outerid = xel.Element("outer_id").Value,
                        name = xel.Element("title").Value
                    };