c#遍历XML

public void  GetDataFromXml()
{
ArrayList headersubList = new ArrayList();
//获取当前XML文档的根 一级
XmlNode oNode = m_oDom.DocumentElement;

//获取根节点的所有子节点列表
XmlNodeList oList = oNode.ChildNodes;

//标记当前节点
XmlNode oCurrentNode;
//遍历所有二级节点
for (int i = 0; i < oList.Count; i++)
{
//二级
oCurrentNode = oList[i];

//检测当前节点的名称,节点的值是否与已知匹配
if (oCurrentNode.Name.ToLower().Equals("store"))
{
//检测是否有子节点 三级
if (oCurrentNode.HasChildNodes)
{
Console.WriteLine(oCurrentNode.ChildNodes.Count);

//遍历当前节点的所有子节点
for (int n = 0; n < oCurrentNode.ChildNodes.Count; n++)
{
//检测当前节点的子节点名称是否与已知匹配
if (oCurrentNode.ChildNodes[n].Name.ToLower() == "sale")
{
//获取该节点所有属性,以供查询
XmlNamedNodeMap oMap = oCurrentNode.ChildNodes[n].Attributes;

Hashtable headItem = new Hashtable();
headItem.Add("Id", oCurrentNode.Attributes.GetNamedItem("Id").Value);
headItem.Add("Name", oCurrentNode.Attributes.GetNamedItem("Name").Value);
headItem.Add("OrderNo", oMap.GetNamedItem("OrderNo").Value);
headItem.Add("Qty", oMap.GetNamedItem("Qty").Value);

headersubList.Add(headItem);

Console.WriteLine(oCurrentNode.Attributes.GetNamedItem("Id").Value);
Console.WriteLine(oCurrentNode.Attributes.GetNamedItem("Name").Value);
Console.WriteLine(oMap.GetNamedItem("OrderNo").Value);
Console.WriteLine(oMap.GetNamedItem("Qty").Value);

Console.ReadLine();
}
}
}
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值