国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net操作xml實(shí)現(xiàn)創(chuàng)建,添加,刪除,查詢等功能函數(shù)

2024-07-10 13:13:02
字體:
供稿:網(wǎng)友

xml文件格式

以下是引用片段:
<?xml version="1.0"?>
<dbguest>
  <user>
    <name uid="d">ew</name>
    <city>dsa</city>
    <email>eq</email>
  </user>
</dbguest>

創(chuàng)建xml文件
 

以下是引用片段:
private void btncreatexml_click(object sender, system.eventargs e)
        {
            //創(chuàng)建xml文檔對象
            system.xml.xmldocument xmldoc = new system.xml.xmldocument();
            //創(chuàng)建xml 聲明節(jié)點(diǎn)
            system.xml.xmlnode xmlnode = xmldoc.createnode(system.xml.xmlnodetype.xmldeclaration, "", "");
            //添加上述創(chuàng)建和 xml聲明節(jié)點(diǎn)
            xmldoc.appendchild(xmlnode);
            //創(chuàng)建xml dbguest 元素(根節(jié)點(diǎn))
            system.xml.xmlelement xmlelem = xmldoc.createelement("", "dbguest", "");

            xmldoc.appendchild(xmlelem);
            try
            {
                xmldoc.save(xmlfile);
            }
            catch(exception ex)
            {
                if(ex.message.indexof("訪問被拒絕") != -1)
                {
                    lblmsg.text = "創(chuàng)建xml文檔失敗,沒有寫入權(quán)限,請檢查xmldocs文件夾的寫入權(quán)限!";
                    return;
                }                
            }
            lblmsg.text = "xml文件創(chuàng)建成功";
            bindxmlfiles();
            getxmlcontent();
            bindusernames();
            
        }

添加用戶:

以下是引用片段:
private void btnadd_click(object sender, system.eventargs e)
        {
            string uid = txtuid.text;
            string username = txtusername.text;
            string city = txtcity.text;
            string email = txtemail.text;
            if(!system.io.file.exists(xmlfile))
            {
                lblmsg.text = "xml文件"+xmlfile+"不存在,請先點(diǎn)擊創(chuàng)建!";
                return;
            }
            xmldocument xmldoc                = new xmldocument();
            xmldoc.load(xmlfile);    //加載文件
            xmlnode root                    = xmldoc.selectsinglenode("dbguest");//查找<dbguest>
            xmlelement xe_dbguest_user        = xmldoc.createelement("user");//創(chuàng)建一個(gè)<user>節(jié)點(diǎn)
            xmlelement xe_dbguest_user_name    = xmldoc.createelement("name");
            xe_dbguest_user_name.innertext    = username;//設(shè)置文本節(jié)點(diǎn)
        
            xmlattribute a                    = xmldoc.createattribute("uid");//創(chuàng)建一個(gè) 屬性
            a.value                            = uid;
            xe_dbguest_user_name.attributes.append(a);//增加一個(gè)屬性
            xe_dbguest_user.appendchild(xe_dbguest_user_name);//添加到<user>節(jié)點(diǎn)中
            xmlelement xe_dbguest_user_city    = xmldoc.createelement("city");//創(chuàng)建city節(jié)點(diǎn)
            xe_dbguest_user_city.innertext    = city;
            xe_dbguest_user.appendchild(xe_dbguest_user_city);//添加到<user>節(jié)點(diǎn)中
            xmlelement xe_dbguest_user_email    = xmldoc.createelement("email");//創(chuàng)建email節(jié)點(diǎn)
            xe_dbguest_user_email.innertext    = email;
            xe_dbguest_user.appendchild(xe_dbguest_user_email);

            root.appendchild(xe_dbguest_user);//添加到<dbguest>節(jié)點(diǎn)中
            xmldoc.save(xmlfile);//保存文件
            lblmsg.text = "成功添加用戶";
            getxmlcontent();
            bindxml();
            bindusernames();
        }
//綁定xml數(shù)據(jù)
        private void bindxml()
        {
            if(!system.io.file.exists(xmlfile))
            {
                lblmsg.text = "xml文件"+xmlfile+"不存在,請先點(diǎn)擊創(chuàng)建!";
                return;
            }
//            方法一:通過ds 讀取 xml
//            dataset ds = new dataset();
//            ds.readxml(xmlfile);
//            if(ds.tables.count > 0)
//            {
//                dgvalue.datasource = ds.tables[0].defaultview;
//                dgvalue.databind();
//            }
            //方法二
            datatable dt = new datatable();
            datacolumn dc = new datacolumn("uid");
            dt.columns.add(dc);            
            dc = new datacolumn("name");
            dt.columns.add(dc);
            dc = new datacolumn("city");
            dt.columns.add(dc);
            dc = new datacolumn("email");
            dt.columns.add(dc);
    
            //將xml文件加載成xmldoc
            xmldocument xmldoc = new xmldocument();
            xmldoc.load(xmlfile);
            //得到dbgust所有子節(jié)點(diǎn)
            xmlnodelist xnl=xmldoc.selectsinglenode("dbguest").childnodes;
            
            for(int i = 0 ; i < xnl.count;i++)
            {
                //在每個(gè)子節(jié)點(diǎn)是遍歷    xn 代表的是一個(gè)個(gè)user
                string uid = xnl.item(i).childnodes[0].attributes["uid"].value;
                string name = xnl.item(i).childnodes[0].innertext;
                string city = xnl.item(i).childnodes[1].innertext;
                string email = xnl.item(i).childnodes[2].innertext;
                datarow dr = dt.newrow();
                dr[0] = uid;
                dr[1] = name;
                dr[2] = city;
                dr[3] = email;
                dt.rows.add(dr);                
            }
            dgvalue.datasource = dt;
            dgvalue.databind();

            
        }

刪除用戶:

 

以下是引用片段:
private void btndelete_click(object sender, system.eventargs e)
        {
            string selectname = ddlnames.selecteditem.text;
            string selectid = ddlnames.selectedvalue;
            xmldocument xmldoc = new xmldocument();
            xmldoc.load(xmlfile);
            xmlnodelist xnl=xmldoc.selectsinglenode("dbguest").childnodes;

            
            for(int i = 0 ; i < xnl.count ; i++)
            {
                xmlelement xe=(xmlelement)xnl[i];//第i個(gè)dbgust子節(jié)點(diǎn)
                xmlnodelist node = xe.getelementsbytagname("name");
                if(node.count>0)
                {
                    //判斷為用戶選擇的
                    if(node[0].innertext==selectname && node[0].attributes["uid"].value == selectid)
                    {
                        string m = node[0].innertext;
                        xmldoc.selectsinglenode("dbguest").removechild(node[0].parentnode);//刪除該user節(jié)點(diǎn)    
                        //xe.removeall();//刪除該節(jié)點(diǎn)的全部內(nèi)容 這二種有差別
                        
                        break;
                        
                    }
                    
                }
            }
            
            
            xmldoc.save(xmlfile);
            bindxml();
            getxmlcontent();
            bindusernames();
        }

更新用戶:

 

以下是引用片段:
private void btnupdate_click(object sender, system.eventargs e)
        {
            string selectname = ddlnames.selecteditem.text;
            string selectid = ddlnames.selectedvalue;
            xmldocument xmldoc = new xmldocument();
            xmldoc.load(xmlfile);
            xmlnodelist nodelist=xmldoc.selectsinglenode("dbguest").childnodes;//獲取dbguest節(jié)點(diǎn)的所有子節(jié)點(diǎn)
            foreach(xmlnode xn in nodelist)//遍歷所有子節(jié)點(diǎn)
            {
                xmlelement xe=(xmlelement)xn;//將子節(jié)點(diǎn)類型轉(zhuǎn)換為xmlelement類型
            
                xmlnodelist node = xe.getelementsbytagname("name");
                if(node.count>0)
                {
                    //判斷為用戶選擇的
                    if(node[0].innertext==selectname && node[0].attributes["uid"].value == selectid)
                    {
                        xmlnodelist nls=xe.childnodes;//繼續(xù)獲取xe子節(jié)點(diǎn)的所有子節(jié)點(diǎn)
                        foreach(xmlnode xn1 in nls)//遍歷
                        {
                            xmlelement xe2=(xmlelement)xn1;//轉(zhuǎn)換類型
                            if(xe2.name=="email")//如果找到email屬性
                            {
                                xe2.innertext="http://eflylab.cnblogs.com";//則修改
                                break;//找到退出來就可以了
                            }
                        }
                        break;
                    }
                }
                
            }
            xmldoc.save(xmlfile);
            bindxml();
            getxmlcontent();
        }

查詢用戶:

以下是引用片段:
private void btnselect_click(object sender, system.eventargs e)
        {
            xmldocument doc = new xmldocument();
            doc.load(xmlfile);
            string selectname = ddlnames.selecteditem.text;
            string email = doc.selectsinglenode("http://user[name=’"+selectname+"’]").childnodes.item(2).innertext;
        
            
            lblmsg.text = "查詢"+selectname+"用戶email為"+email;
        }

中國最大的web開發(fā)資源網(wǎng)站及技術(shù)社區(qū),
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 改则县| 寻乌县| 彰化市| 丰台区| 苍南县| 集安市| 盐亭县| 旬邑县| 温州市| 精河县| 日照市| 普安县| 鄂托克前旗| 襄垣县| 嫩江县| 五寨县| 凌源市| 腾冲县| 莱州市| 读书| 沙坪坝区| 监利县| 皮山县| 宜黄县| 民乐县| 丰县| 荥经县| 北川| 河东区| 抚顺县| 张家口市| 鲁山县| 方城县| 公安县| 黄浦区| 涞水县| 广东省| 太保市| 肃北| 灵台县| 平利县|