微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

XML的增、删、查、改

<?xml version="1.0" encoding="utf-8"?>
<birthday>
  <NO1 id="1">
    <date type="a">1</date>
    <name>2</name>
  </NO1>
  <NO2 id="2">
    <date type="b">3</date>
    <name>4</name>
  </NO2>
</birthday>

( )添加一个N03节点,节点有type属性,N03节点里面还包衣个子节点name
protected void Page_Load(object sender,EventArgs e)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(@"F:\XMLFile1.xml");
            XmlNode root = xmlDoc.SelectSingleNode("birthday");//查找<birthday>
            XmlElement xe1 = xmlDoc.CreateElement("NO3");//创建一个<NO3>节点
            xe1.SetAttribute("type","a");//设置该节点type属性

            XmlElement xesub1 = xmlDoc.CreateElement("name");
            xesub1.InnerText = "C#从入门到精通";//设置文本节点
            xe1.AppendChild(xesub1);//添加到<NO3>节点中
            root.AppendChild(xe1);//添加到<birthday>节点中
            xmlDoc.Save(@"F:\XMLFile1.xml");

        }

( )删除NO3里面的属性和子级
XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(@"F:\XMLFile1.xml");
            XmlNodeList xnl = xmlDoc.SelectSingleNode("birthday").ChildNodes;
            foreach (XmlNode xn in xnl)
            {
                XmlElement xe = (XmlElement)xn;
                if (xe.GetAttribute("type") == "a")
                {
                    xe.RemoveAll();//删除该节点的全部内容
                    //xe.RemoveAttribute("type");//删除type属性
                }
            }
            xmlDoc.Save(@"F:\XMLFile1.xml");//保存。

( )把brithday的子节点属性ID=1,改成ID=4
XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(@"F:\XMLFile1.xml");
            XmlNodeList nodeList = xmlDoc.SelectSingleNode("birthday").ChildNodes;//获取birthday节点的所有子节点
            foreach (XmlNode xn in nodeList)//遍历所有子节点
            {
                XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
                if (xe.GetAttribute("id") == "1")//如果type属性值为“1”
                {
                    xe.SetAttribute("id","4");//则修改属性为“4”
                }
            }
            xmlDoc.Save(@"F:\XMLFile1.xml");//保存。

( )查询节点最外层,含有Id属性的值,和显示子节点的文本
protected void Page_Load(object sender,EventArgs e)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(@"F:\XMLFile1.xml");
            XmlNode xn = xmlDoc.SelectSingleNode("birthday");
            XmlNodeList xnl = xn.ChildNodes;
            foreach (XmlNode xnf in xnl)
            {
                XmlElement xe = (XmlElement)xnf;
                TextBox1.Text = TextBox1.Text+xe.GetAttribute("id");//显示属性值
                XmlNodeList xnf1 = xe.ChildNodes;
                foreach (XmlNode xn2 in xnf1)
                {
                    TextBox2.Text= TextBox2.Text+xn2.InnerText;//显示子节点的文本
                }
            }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。