<?xml version="1.0" encoding="UTF-8"?>
<im apicode="1">
<sms>
<report mobile="0000000000" sm="1" code="0" desc="对"/>
<report mobile="0000000000" sm="2" code="0" desc="对"/>
<report mobile="0000000000" sm="3" code="0" desc="对"/>
<report mobile="0000000000" sm="4" code="0" desc="对"/>
</sms>
</im>//怎么通过循环获得每个mobile sm code desc的值啊

解决方案 »

  1.   


              //这两种方法都可以。
                DataSet ds = new DataSet();
                ds.ReadXml(文件路径);
                ds.Tables[0].Rows[][]
                XmlDocument xd=new XmlDocument();
                XmlDataDocument xdd=new XmlDataDocument();
                xdd.Load();
                xdd.DataSet.Tables[0]//...
      

  2.   


    List<string> pathList = new List<string>();
                try
                {
                    XmlDocument doc = new XmlDocument();
                    doc.Load(path);
                    XmlNode xn = doc.SelectSingleNode("im\sms");
                    XmlNodeList nodeList = xn.ChildNodes;
                    foreach (XmlNode xmlNode in nodeList)
                    {
                        pathList.Add( xmlNode.Attributes["mobile"].Value);
                        pathList.Add( xmlNode.Attributes["sm"].Value);
                        //同上,去属性就行了。。                }
                }
                catch { }List<string> 可以把这些属性放在一个类里面,List<类名> classList = new List<类名>();
    classList.mobile = ... 一个个属性进行赋值就可以了
      

  3.   

    楼主 你的xml 里面了desc   这在xml里面会报错  你改下这个属性 设置其它名字 
    然后用下面的方法就可以获取属性值了            XmlDocument xmlDoc=new XmlDocument ();
                xmlDoc.Load("D:/02.xml");  //假设你的xml文件在这 
                foreach (XmlNode node in xmlDoc.GetElementsByTagName("report"))
                {
                    XmlAttribute mobile = node.Attributes["mobile"];
                    XmlAttribute sm = node.Attributes["sm"];
                    XmlAttribute code = node.Attributes["code"];
                }