您的位置:首页 > 其它

使用XmlDocument中的XmlElement遍历xml文档

2010-06-18 14:45 633 查看
xml文件各个层次的节点名称都一样,所以不能使用DataSet.ReadXml来加载,必须使用XmlDocument对象:
代码

string str = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";

str += "<item>";

XmlDocument xmldc = new XmlDocument();
xmldc.Load(Server.MapPath("XMLFile.xml"));

XmlElement el = xmldc.DocumentElement;

for (int i = 0; i < el.ChildNodes.Count; i++)
{
XmlNode nodeProvince = el.ChildNodes[i];
string province = nodeProvince.Attributes["nodename"].Value;
string provinceID = nodeProvince.Attributes["nodeid"].Value;

str += "<province name=\"" + province + "\" id=\"" + provinceID + "\">";

for (int j = 0; j < el.ChildNodes[i].ChildNodes.Count; j++)
{
XmlNode nodeCity = el.ChildNodes[i].ChildNodes[j];
string city = nodeCity.Attributes["nodename"].Value;
string cityID = nodeCity.Attributes["nodeid"].Value;

str += "<city name=\"" + city + "\" id=\"" + cityID + "\" provinceID=\"" + provinceID + "\">";

for (int k = 0; k < el.ChildNodes[i].ChildNodes[j].ChildNodes.Count; k++)
{
XmlNode nodedistrinct = el.ChildNodes[i].ChildNodes[j].ChildNodes[k];
string distrinct = nodedistrinct.Attributes["nodename"].Value;
string distrinctID = nodedistrinct.Attributes["nodeid"].Value;

str += "<distrinct name=\"" + distrinct + "\" distrinctID=\"" + distrinctID + "\" cityID=\"" + cityID + "\" provinceID=\"" + provinceID + "\" />";

}

str += "</city>";
}

str += "</province>";
}

str += "</item>";

Response.Write(str);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: