首页 > 代码库 > c#读取XML多级子节点

c#读取XML多级子节点

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多级子节点