string xmlFilePath = "D:\\log_xml\\MarInfo.xml"; //Server.MapPath(@"相对路径如/xml/test.xml"); XmlDocument doc = new XmlDocument(); doc.Load(xmlFilePath);//加载XML文件 string rst = ""; //使用xpath表达式选择文档中所有的student子节点 XmlNodeList studentNodeList = doc.SelectNodes("Root/MarketList/Market"); if (studentNodeList != null) { foreach (XmlNode studentNode in studentNodeList) { //通过Attributes获得属性名字为name的属性 string name = studentNode.Attributes["MarketName"].Value+":"; rst+= name; //通过SelectSingleNode方法获得当前节点下的SubMarketList子节点 XmlNode coursesNode = studentNode.SelectSingleNode("SubMarketList"); //通过ChildNodes属性获得courseNode的所有一级子节点 XmlNodeList courseNodeList = coursesNode.ChildNodes; if (courseNodeList != null) { foreach (XmlNode courseNode in courseNodeList) { rst += courseNode.Attributes["Name"].Value+","; } rst += "<br/>"; } } } Response.Write(rst);
以上是详细介绍c#读取XML多级子节点的详细内容。更多信息请关注PHP中文网其他相关文章!