简单的XML在ASP.NET中增删改应用

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
private XmlDocument xmlDoc;
// load xml file
private void LoadXml()
{
    xmlDoc = new XmlDocument();
    xmlDoc.Load(Server.MapPath( " User.xml " ));
}
// 添加节点
private void AddElement()
{
    LoadXml();
    XmlNode xmldocSelect = xmlDoc.SelectSingleNode( " user " );
    XmlElement el = xmlDoc.CreateElement( " person " );     // 添加person节点
    el.SetAttribute( " name " , " 风云 " );     // 添加person节点的属性"name"
    el.SetAttribute( " sex " , " 女 " );     // 添加person节点的属性 "sex"
    el.SetAttribute( " age " , " 25 " );     // 添加person节点的属性 "age"
    XmlElement xesub1 = xmlDoc.CreateElement( " pass " );     // 添加person节点的里的节点
    xesub1.InnerText = " 123 " ;     // 设置文本节点
    el.AppendChild(xesub1);
    XmlElement xesub2 = xmlDoc.CreateElement( " Address " );
    xesub2.InnerText = " 昆明 " ;     // 设置文本节点
    el.AppendChild(xesub2);
    xmldocSelect.AppendChild(el);
    xmlDoc.Save(Server.MapPath( " user.xml " ));
}
// 修改节点
private void UpdateElement()
{
    LoadXml();
    XmlNodeList nodeList = xmlDoc.SelectSingleNode( " user " ).ChildNodes;     // 获取bookstore节点的所有子节点
    foreach (XmlNode xn in nodeList)     // 遍历所有子节点
    {
        XmlElement xe = (XmlElement)xn;     // 将子节点类型转换为XmlElement类型
        if (xe.GetAttribute( " name " ) == " 风云 " )     // 如果name属性值为“风云”
        {
            xe.SetAttribute( " name " , " 发明 " ); // 如果下面有子节点在下走
            XmlNodeList nls = xe.ChildNodes; // 继续获取xe子节点的所有子节点
            foreach (XmlNode xn1 in nls) // 遍历
            {
                XmlElement xe2 = (XmlElement)xn1; // 转换类型
                if (xe2.Name == " pass " ) // 如果找到
                {
                    xe2.InnerText = " 66666 " ; // 则修改
                    break ;
                }
            }
            break ;
        }
    }
    xmlDoc.Save(Server.MapPath( " user.xml " )); // 保存
}
// 删出节点
private void deleteNode()
{
    LoadXml();
    XmlNodeList xnl = xmlDoc.SelectSingleNode( " user " ).ChildNodes;
    foreach (XmlNode xn in xnl)
    {
        XmlElement xe = (XmlElement)xn;
        if (xe.GetAttribute( " name " ) == " 发明 " )
        {
            // xe.RemoveAttribute("name"); // 删除name属性
            xe.RemoveAll(); // 删除该节点的全部内容
            break ;
        }
    }
    xmlDoc.Save(Server.MapPath( " user.xml " )); // 保存
}
private void showIt()
{
    LoadXml();
    XmlNode xn = xmlDoc.SelectSingleNode( " user " );
    XmlNodeList xnl = xn.ChildNodes;
    foreach (XmlNode xnf in xnl)
    {
        XmlElement xe = (XmlElement)xnf;
        // Console.WriteLine(xe.GetAttribute("name")); // 显示属性值
        // Console.WriteLine(xe.GetAttribute("sex"));
        // // XmlNodeList xnf1=xe.ChildNodes;
        // foreach(XmlNode xn2 in xnf1) //
        {
            // Console.WriteLine(xn2.InnerText);
            // 显示子节点点文本
    // }
    }
}
Xml的样式:
<? xml version = " 1.0 " encoding = " gb2312 " ?>
< user >
    < person > </ person >
    < person name = " 风拉 " sex = " 男 " age = " 25 " >
        < pass > 123 </ pass >
        < Address > 大明 </ Address >
    </ person >
    < person name = " 风云 " sex = " 女 " age = " 25 " >
        < pass > 123 </ pass >
        < Address > 昆明 </ Address >
    </ person >
</ user >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值