zoukankan      html  css  js  c++  java
  • XML增删查改

    <?xml version="1.0" encoding="utf-8"?>
    <testRoot>
      <poems>
        <name>王维</name>
        <title>竹里馆</title>
        <content>独坐幽篁里,弹琴复长啸。深林人不知,明月来相照。</content>
      </poems>
      <poems>
        <name>孟浩然</name>
        <title>宿建德江</title>
        <content>移舟泊烟渚,日暮客愁新。野旷天低树,江清月近人</content>
      </poems>
      <poems>
        <name>李白</name>
        <title>杜陵绝句</title>
        <content>南登杜陵上,北望五陵间。秋水明落日,流光灭远山</content>
      </poems>
      <poems>
        <name>李白</name>
        <title>望庐山瀑布</title>
        <content>日照香炉生紫烟,遥看瀑布挂前川。飞流直下三千尺,疑是银河落九天。</content>
      </poems>
      <poems>
        <name>李商隐</name>
        <title>锦瑟</title>
        <content>锦瑟无端五十弦,一弦一柱思华年。庄生晓梦迷蝴蝶,望帝春心托杜鹃。沧海月明珠有泪,蓝田日暖玉生烟。此情可待成追忆,只是当时已惘然。</content>
      </poems>
      <poems>
        <name>名称一1</name>
        <title>标题一</title>
        <content>内容一</content>
      </poems>
      <poems>
        <name>名称一2</name>
        <title>标题一</title>
        <content>内容一</content>
      </poems>
      <poems>
        <name>编辑名称一</name>
        <title>编辑标题一</title>
        <content>编辑内容一</content>
      </poems>
    </testRoot>


    =================================================================================================================================================================================


    <%@ Page Language="C#" %>

    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
    <%@ Import Namespace="System.Xml" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //SelectXml1();
                //SelectXml2();
                //addXml3();
                //DeleteXml();
                //EditXml();
                //searchXml();
                //searchLikeXml();
                //UpdateXml();
                deleteNode();
               
                SelectXml();
            }
        }
        /// <summary>
        /// 查询XML
        /// </summary>
        private void SelectXml()
        {
            DataSet ds = new DataSet();
            ds.ReadXml(Server.MapPath("/test.xml"));
            if (ds.Tables.Count > 0)
            {
                GridView1.DataSource = ds.Tables[0].DefaultView;
                GridView1.DataBind();
            }
        }
        /// <summary>
        /// 获得第一个节点的值
        /// </summary>
        private void SelectXml1()
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("/test.xml"));
            XmlNode xmlNode = xmlDoc.DocumentElement.FirstChild;
            if (xmlNode != null)
            {
                Response.Write(xmlNode["name"].InnerText + ",");
            }
        }
        /// <summary>
        /// 查看某一个节点的内容
        /// </summary>
        private void SelectXml2()
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("/test.xml"));
            XmlNodeList xmlNodeList = xmlDoc.DocumentElement.ChildNodes;
            XmlNode xmlNode = xmlNodeList.Item(1);
            Response.Write(xmlNode["name"].InnerText + ",");
        }
        /// <summary>
        /// 添加一个节点
        /// </summary>
        private void addXml()
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("test.xml"));
            //创建一个新节点
            XmlElement newElement = xmlDoc.CreateElement("poems");
            //创建newElement下的节点
            XmlElement elauthor = xmlDoc.CreateElement("name");
            XmlElement eltitle = xmlDoc.CreateElement("title");
            XmlElement elcontent = xmlDoc.CreateElement("content");
            elauthor.InnerText = "名称一";
            eltitle.InnerText = "标题一";
            elcontent.InnerText = "内容一";
            //将newElement下的节点加到newElement上
            newElement.AppendChild(elauthor);
            newElement.AppendChild(eltitle);
            newElement.AppendChild(elcontent);
           
            xmlDoc.DocumentElement.AppendChild(newElement);//将newElement加入到xml文件中(加在最后一条记录上)      
            //xmlDoc.DocumentElement.InsertAfter(newElement,xmlDoc.DocumentElement.ChildNodes.Item(0));//如果要插到某条记录之后也可以用(加在第一条记录之后)      
            //xmlDoc.DocumentElement.InsertBefore(newElement,xmlDoc.DocumentElement.ChildNodes.Item(0)); //如果要插到某条记录之前也可以用(加在第一条记录之前)       
            xmlDoc.Save(Server.MapPath("/test.xml"));//存盘
        }
        /// <summary>
        /// 删除某个节点
        /// </summary>
        private void DeleteXml()
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("/test.xml"));
            XmlNode xmlNode = xmlDoc.DocumentElement.ChildNodes.Item(7);//要删除的节点索引
            xmlNode.ParentNode.RemoveChild(xmlNode);
            xmlDoc.Save(Server.MapPath("/test.xml"));
        }
        /// <summary>
        ///
        /// </summary>
        private void EditXml()
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("/test.xml"));
            //获得节点列表
            XmlNode xmlNode = xmlDoc.DocumentElement.ChildNodes.Item(7);
            xmlNode["name"].InnerText = "编辑名称一";
            xmlNode["title"].InnerText = "编辑标题一";
            xmlNode["content"].InnerText = "编辑内容一";
            xmlDoc.Save(Server.MapPath("/test.xml"));
        }
        /// <summary>
        /// 编辑某个节点
        /// </summary>
        private void UpdateXml()
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("/test.xml"));
            XmlNodeList nodeList = xmlDoc.SelectSingleNode("testRoot").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("/test.xml"));//保存
        }
       
        //删出节点
        private void deleteNode()
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("/test.xml"));
            XmlNodeList nodeList = xmlDoc.SelectSingleNode("testRoot").ChildNodes;//获取bookstore节点的所有子节点

            foreach (XmlNode xn in nodeList)
            {
                XmlElement xe = (XmlElement)xn;

                if (xe.GetAttribute("name") == "编辑名称一")
                {
                    //xe.RemoveAttribute("name");//删除name属性
                    xe.RemoveAll();//删除该节点的全部内容
                    break;
                }
            }
            xmlDoc.Save(Server.MapPath("/test.xml"));//保存
        }


        /// <summary>
        /// 查找某个节点 直等
        /// </summary>
        private void searchXml()
        {
            string str = "李白";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("/test.xml"));
            XmlNodeList nodelist = xmlDoc.SelectNodes("testRoot/poems[name='" + str + "']");
            Response.Write(nodelist.Count);
        }
        /// <summary>
        /// 查找某个节点 糊模查找记录 LIKE
        /// </summary>
        private void searchLikeXml()
        {
            string str = "编辑";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("/test.xml"));
            XmlNodeList nodelist = xmlDoc.SelectNodes("testRoot/poems[contains(name,'" + str + "')]");
         
        }
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>XML操作(增删查改)</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
        </form>
    </body>
    </html>


     

  • 相关阅读:
    商城02——dubbo框架整合_商品列表查询实现_分页
    商城项目01——工程介绍及搭建
    利用ssm框架做一个客户管理系统
    SpringMVC学习笔记
    spring问题
    Spring学习笔记
    MyBatis学习笔记二
    MyBatis学习笔记
    二分查找与几种排序方法
    配置 spring boot 的 banner (自定义或取消banner)
  • 原文地址:https://www.cnblogs.com/shuyu/p/1704691.html
Copyright © 2011-2022 走看看