用xelement
XElement data=XElement.Parse(xml);
XElement  paramInfo= data.Element("body").Element("body").Elements("paramInfo");
foreach(var i in paramInfo)
{
//这里判断paramCode是id的给id 是sex的给sex
节点就是.Element() 属性就是.Attribute("")
他们都是XElement类 很简单
}

解决方案 »

  1.   

    可以使用Linq to XML,google一下一堆例子,贴一下我自己项目中的,你照葫芦画瓢吧
            /// <summary>
            /// Load xml file
            /// </summary>
            /// <param name="xmlFilePath"></param>
            /// <returns></returns>
            private void LoadXML(string filePath, XNamespace nameSpace)
            {
                if (string.IsNullOrEmpty(filePath))
                {
                    MessageBox.Show("Please choose the xml file first!");
                }            //casesElement = XElement.Load(filePath);
                XmlDocument doc = new XmlDocument();
                doc.Load(filePath);
                casesElement = XElement.Load(new XmlNodeReader(doc));
                //ns = "urn:perseus:profile:plugin";
                ns = nameSpace;
            }
            /// <summary>
            /// Get module name
            /// </summary>
            /// <returns></returns>
            private Dictionary<string, Dictionary<string, int>> GetModuleNameDic()
            {
                if (casesElement == null)
                {
                    throw new Exception("Please load xml file first!");
                }            Dictionary<string, Dictionary<string, int>> dic = new Dictionary<string, Dictionary<string, int>>();
                var docModule = from item in casesElement.Descendants(ns + "module")
                                select item.Element(ns + "displayName").Value;
                foreach (var itemModule in docModule)
                {
                    string moduleName = string.Empty;
                    if (!(itemModule + "").Equals(""))
                    {
                        moduleName = itemModule;
                        dic.Add(moduleName, GetSuiteNameLst(moduleName));
                    }
                }
                return dic;
            }
      

  2.   

    参考:http://msdn.microsoft.com/zh-cn/library/eh3exdc4(v=vs.90).aspx
      

  3.   

     data.Element("body").Element("body").Elements("paramInfo"); 这句话是什么意思啊?
      

  4.   

    给你写了一个:
                XmlDocument doc = new XmlDocument();
                doc.Load(@"D:\visual studio 2010\Projects\HelloWorld\TestPostData\bin\Debug\test.xml");
                XElement xElement = XElement.Load(new XmlNodeReader(doc));            var paramInfos = from paramInfo in xElement.Elements("body").Elements("paramInfo")
                                 select paramInfo;
                Dictionary<string, string> dicKeyValue = new Dictionary<string, string>();
                foreach (var paramInfo in paramInfos)
                {
                    var keyItem = from item in paramInfo.Elements("paramCode") select item;
                    string key = keyItem.FirstOrDefault().Value;                var valueItem = from item in paramInfo.Elements("paramValue").Elements("value") select item;
                    string value = valueItem.FirstOrDefault().Value;                dicKeyValue.Add(key, value);
                }            AA aa = new AA();
                aa.Id = dicKeyValue.ContainsKey("Id") ? dicKeyValue["Id"] : string.Empty;
                aa.sex = dicKeyValue.ContainsKey("sex") ? dicKeyValue["sex"] : string.Empty;
      

  5.   


    那你看看我这种写法哪有问题?
    XmlDocument xmlDocument = new XmlDocument();
                xmlDocument.LoadXml(xml);
                Dictionary<string, string> dict = new Dictionary<string, string>();
                foreach (XmlElement item in xmlDocument.GetElementsByTagName("paramInfo"))
                {
                    dict[item["paramCode"].InnerText] = item["paramValue"].FirstChild.Value;
                }
    AA aa=new AA()
    aa.Id=dict["ID"];
    aa.sex=dict["sex"];
      

  6.   

    自己调试一下不就清楚了吗?如果 这种情况
    <paramInfo>
           <paramCode>sex</paramCode>
           <paramValue>
               <value>1</value>
               <value>2</value>
           </paramValue >
    </paramInfo>
    附带两个值的你的那种写法好像也不行
      

  7.   

    你只要明白了该如何处理这种东西就可以了,这个不是万能的,只是针对你上面给的xml写的代码,如果你需要万能的,要用到反射技术了。