旗下导航:搜·么
当前位置:网站首页 > XML教程 > 正文

xml进修(8) xml增编削查【XML教程】,xml,增删改查

作者:搜教程发布时间:2019-11-27分类:XML教程浏览:24评论:0


导读:在项目开辟中,我们常常会对某张表举行增编削查。我们依据前提刷选表中的数据放到gridview中以列表情势展示,同时给gridview增加种种款式,比方平常必用的鼠标...
在项目开辟中,我们常常会对某张表举行增编削查。我们依据前提刷选表中的数据放到 gridview 中以列表情势展示,同时给 gridview 增加种种款式,比方平常必用的鼠标经由,鼠标离开色彩变化,行选中等色彩加深,同时给列表数据项赋值,单击保留按钮能够修正一条已存在的数据或许增加一条新的数据,单击按钮增加,列表数据项清空,单击删除,能够删除一条数据。

因为为了轻易人人把代码复制一下,在离开数据的情况下,就能够看到结果,所以,我把数据寄存在xml,所以读取数据不是经由过程数据库,是经由过程跟xml文件交互完成的。所以做了下面临xml增编削查页面。

结果图:


起首列出XML文件,轻易代码参照

内容.xml

<?xml version="1.0" encoding="utf-8"?>
<config>
  <Header ID="ID" class="class" class_name="class_name" year="year" school="school" count="count">
  </Header>
  <rows ID="01" class="一五班" class_name="实验班" year="2013" school="三峡高级中学" count="30">
  </rows>
  <rows ID="02" class="一六班" class_name="奥数班" year="2013" school="三峡高级中学" count="45">
  </rows>
  <rows ID="03" class="一七班" class_name="阳光班" year="2013" school="三峡高级中学" count="60">
  </rows>
  <rows ID="04" class="一八班" class_name="美术班" year="2013" school="三峡高级中学" count="75">
  </rows>
</config>

一,中心代码:

1) 修正xml

   /// <summary>
        /// 修正XML
        /// </summary>
        /// <param name="xmlName">XML文件名</param>
        /// <param name="ht">寄存信息哈希表</param>
        /// <param name="ID">主键值</param>
        public void saveXML(string xmlName,Hashtable ht,string ID)
        {
            string fileName=HttpContext.Current.Request.PhysicalApplicationPath+"\\Xml\\"+xmlName+".xml";//xml的物理途径
            XmlDocument xmlDoc=new XmlDocument ();
            xmlDoc.Load(fileName);
            XmlNode node = xmlDoc.SelectSingleNode("config/rows[@ID=" + ID + "]");
            foreach (XmlNode node1 in node.Attributes)
            {
                if (ht.ContainsKey(node1.Name)&&node1.Name!="ID")
                {
                    node1.Value = ht[node1.Name].ToString();
                }
            }
            xmlDoc.Save(fileName);
        }

ht:

  Hashtable ht = new Hashtable();
        ht.Add("ID", this.txt_ID.Value);
        ht.Add("class", this.txt_class.Value);
        ht.Add("class_name", this.txt_class_name.Value);
        ht.Add("year", this.txt_year.Value);
        ht.Add("school", this.txt_school.Value);
        ht.Add("count", this.txt_count.Value);

2)插进去xml

    /// <summary>
        /// 插进去xml
        /// </summary>
        /// <param name="xmlName">XML文件名</param>
        /// <param name="ht">寄存信息哈希表</param>
        /// <returns></returns>
        public string insertXml(string xmlName, Hashtable ht)
        {
            string fileName = HttpContext.Current.Request.PhysicalApplicationPath + "\\Xml\\" + xmlName + ".xml";//xml的物理途径
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(fileName);
            XmlNode node = xmlDoc.SelectSingleNode("//rows[last()]");//末了一个行节点
            XmlNode MaxNode = xmlDoc.SelectSingleNode("//rows/@ID[not(.<//rows/@ID)]");//猎取主键最大值
            if (int.Parse(ht[MaxNode.Name].ToString()) <= int.Parse(MaxNode.Value))//假如小于主键最大值,那末返回-
            {
                return "-1";
            }
            XmlElement xe = xmlDoc.CreateElement("rows");
            xe.InnerText = "";
            foreach (XmlNode node1 in node.Attributes)
            {
                if (ht.ContainsKey(node1.Name))
                {
                    xe.SetAttribute(node1.Name, ht[node1.Name].ToString());
                }
                else
                {
                    xe.SetAttribute(node1.Name,"");
                }
            }
            node.ParentNode.AppendChild(xe);
            xmlDoc.Save(fileName);
            return "1";
        }

3) 删除xml

   /// <summary>
        /// 删除xml节点
        /// </summary>
        /// <param name="xmlName">XML文件名</param>
        /// <param name="ID">主键值</param>
        /// <param name="primaryKey">主键名</param>
        /// <returns></returns>
        public string deleteXml(string xmlName,string ID,string primaryKey)
        {
            string rtn = string.Empty;
            string fileName = HttpContext.Current.Request.PhysicalApplicationPath + "\\Xml\\" + xmlName + ".xml";//xml的物理途径
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(fileName);
            XmlNode node = xmlDoc.SelectSingleNode("//rows[@"+primaryKey+"='"+ID+"']");//末了一个行节点
            if (node ==null)
            {
                rtn = "-1";
            }
            else
            {
                node.ParentNode.RemoveChild(node);
                rtn = "1";
            }
            xmlDoc.Save(fileName);
            return rtn;
        }


4)html显现xml在之前的内容已引见过

假如是看详细的完成代码,能够下载:

以上就是xml进修(8) xml增编削查的内容,更多相关内容请关注ki4网(www.ki4.cn)!

标签:xml增删改查


欢迎 发表评论: