遍历有属性节点的XML文件

平时我们编写的XML文档节点是没有属性,但很多时候为了保存更多内容,XML文件节点中添加了很多属性,这时该如何读取呢?

以下是在ASP.NET下使用C#代码读取例如站点地图格式的XML文件

首先新建页面,在后台中导入命名空间:using System.Xml;

编写如下方法,在加载时引用,C#代码如下

protected void PrintXML()
    {
        try
        {
            XmlDocument xm = new XmlDocument();
            xm.Load("WebUI/MenuXML.xml"); //在根目录下要必须加上根目录名,直接写文件名不可用
            XmlNode rootnode = xm.DocumentElement;//得到根节点
            foreach (XmlNode item in rootnode.ChildNodes)//遍历根节点
            {
                for (int i = 0; i < item.Attributes.Count; i++)//遍历一级节点属性
                {
                    Response.Write(item.Attributes[i].Name + "--" + item.Attributes[i].Value + "<br/>");//输出当前节点的属性名称和值
                    XmlNodeList list = item.ChildNodes;//当前节点下的所有节点集合
                    foreach (XmlNode child in list)
                    {
                        for (int j = 0; j < child.Attributes.Count; j++)
                        {
                            Response.Write("&nbsp;&nbsp;&nbsp;&nbsp;" + child.Attributes[j].Value);
                        }
                        Response.Write("<br/>");
                    }
                }
            }

        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }

下面是XML文档的内容。

<?xml version="1.0" encoding="UTF-8"?>
<Menu>
  <MenuTwo name="人事管理">
    <MenuThree name="机构信息" URL="PersonManage/BranchManage.aspx" />
    <MenuThree name="部门信息" URL="PersonManage/DepartManage.aspx" />
    <MenuThree name="员工管理" URL="PersonManage/UserManage.aspx" />
  </MenuTwo>
  <MenuTwo name="日程管理">
    <MenuThree name="我的日程" URL="ScheduleManage/PersonSchedule/PersonSchedule.aspx" />
    <MenuThree name="部门日程" URL="ScheduleManage/DepartSchedule/DepartSchedule.aspx" />
    <MenuThree name="我的便签" URL="ScheduleManage/PersonNote/PersonNote.aspx" />
  </MenuTwo>
  <MenuTwo name="文档管理">
    <MenuThree name="文档管理" URL="File/FileManage/FileManage.aspx" />
    <MenuThree name="回收站" URL="File/RecycleBin.aspx" />
    <MenuThree name="文件搜索" URL="File/FileManage/FileSearch.aspx" />
  </MenuTwo>
  <MenuTwo name="消息传递">
    <MenuThree name="消息管理" URL="Message/MessageManage/MessageManage.aspx" />
    <MenuThree name="信箱" URL="Message/MailBox/MailBox.aspx" />
  </MenuTwo>
  <MenuTwo name="系统管理">
    <MenuThree name="角色管理" URL="SysManage/RoleManage/RoleManage.aspx" />
    <MenuThree name="登录日志" URL="SysManage/LoginLog.aspx" />
    <MenuThree name="操作日志" URL="SysManage/OperateLog.aspx" />
    <MenuThree name="菜单排序" URL="SysManage/MenuAdjust.aspx" />
  </MenuTwo>
  <MenuTwo name="考勤管理">
    <MenuThree name="员工签到、签退" URL="ManualSign/ManualSign.aspx" />
    <MenuThree name="考勤历史查询" URL="ManualSign/ManualSignSearch.aspx" />
    <MenuThree name="考勤统计" URL="ManualSign/SignStatistic.aspx" />
  </MenuTwo>
</Menu>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值