• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        C#的Web XML編程 (轉自ourasp)

        C#的Web XML編程 (轉自ourasp)

        更新時間:2019-06-21 文章作者:未知 信息來源:網絡 閱讀次數:

        C#的Web XML編程
        唐一均|2002-1-25
        --------------------------------------------------------------------------------

        由于XML的易共享性等眾多優點,XML技術越來越多地被應用于企業數據處理等領域,如應用于企業報表、新聞發布、會計數據處理等等。

        XML正快速成為從中間層傳送數據到桌面的工具,由于XML的數據可以通過中間層代理與多種后端(數據庫)源集成,目前絕大多數數據庫制造商已全面支持XML技術,提供了各種強大功能處理XML數據。

        Microsoft的.NET圍繞XML這一核心提供了一個強大而快速的開發工具——C#,它具有前所未有的高開發效率,特別是在XML編程方面。

        C#提供了許多相關類處理XML數據,如處理stream的類: XmlReader和XmlWriter; DOM的類:XmlNode、XmlDocument和XmlElement等; Xpath的類:XmlNavigator;XSLT的類:XslTransform。

        顯示XML文件內容
        用C#編程實現顯示XML文件中信息的方法是使用.NET提供的標準類把XML文件內容讀入一個StreamReader類對象中,再用XmlDataDocument類的DataSet讀XML的方法去讀XML信息到DataSet中,DataSet再以DataView的方式賦給一個Web Form上的DataGrid,最后由DataBind顯示數據,具體實現代碼如下:

        using System.Xml;
        //處理XML必須加的Namespace,還需在References中加System.XML.Dll
        using System.IO;
        //讀XML文件必須加的Namespace

        然后在Page_Load中加入如下代碼:

        protected void Page_Load(object sender, EventArgs e){
        string datafile="guest.xml" ;
        //假設XML文件名為guest.xml
        StreamReader tyj=new StreamReader(Server.MapPath(datafile));
        XmlDataDocument datadoc = new XmlDataDocument();
        //創建該對象為了讀取XML
        datadoc.DataSet.ReadXml(tyj);
        //讀取guest.xml文件內容
        DataGrid1.DataSource = datadoc.DataSet.Tables[0].DefaultView;
        //設置DataGrid數據源
        DataGrid1.DataBind();
        //綁定
        datadoc=null ;
        //釋放資源
        tyj.Close();}
        //釋放StreamReader類,這非常重要,否則下次打開會顯示文件已經被使用

        對應于顯示用的Web Form中DataGrid的功能,我們需要增加下面的函數:

        protected void OnSelectName(object sender,EventArgs e) {
        Session["select_name"]=(string)DataGrid1.SelectedItem.Cells[1].Text.ToString();
        //把選定的 DataGrid某行中的一個單元中的值(Name)存入一個會話變量中,以便下一頁用
        Response.Redirect("xml_manage.aspx");}
        //轉到有增加刪除功能的管理頁

        Web Form加入以下代碼:

        <asp:DataGrid id=DataGrid1 runat="server" onselectedindexchanged="OnSelectName" >
        <property name="Columns">
        <asp:buttoncolumn Text="選擇" commandname="Select" />
        </property>

        代碼的作用是當按了“選擇”按鈕后,執行OnSelectName()中的程序,把選定的 DataGrid中某行中的一個單元中的值(Name)存入一個會話變量中,然后轉到下一頁。

        增加XML文件內容
        在Web Form中增加相應的幾個TextBox和一個用于提交的Button,如本文附圖所示,并為這button增加如下代碼:

        string datafile = "guest.xml" ;XmlDocument xmldocument = new XmlDocument() ;
        xmldocument.Load(Server.MapPath(datafile)) ;
        //把guest.xml讀到xmldocument中
        DocumentNavigator navigator = new DocumentNavigator(xmldocument) ;
        //最重要的類
        navigator.MoveToDocumentElement() ;
        navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Element, "Guest","","") ;//插入節點Guest
        navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Element, "Name","","") ;
        navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Text,"Name","","") ;
        navigator.Value=Name.Text ;
        //為該節點賦值
        navigator.MoveToParent() ;
        //返回父節點 Guest
        ……
        //使用同類語句,在元素Name下插入另一些元素如Country、E-mail地址和留言等
        xmldocument.Save(Server.MapPath(datafile));
        //最后保存這個XML文檔
        navigator=null ;
        xmldocument=null ;
        //釋放XML文檔,這樣其他程序可以用它

        上述代碼使用DocumentNavigator類增加元素和內容,注意使用后要釋放資源。

        刪除XML文件內容
        刪除選定記錄,對于你上面選擇的節點,下面代碼可查找到該節點并清除選中的信息:

        string datafile = "guest.xml" ;
        XmlDocument xmldocument = new XmlDocument() ;
        xmldocument.Load(Server.MapPath(datafile)) ;
        //把guest.xml讀到xmldocument中
        DocumentNavigator navigator = new DocumentNavigator(xmldocument) ;
        navigator.MoveToDocumentElement() ;
        navigator.Select("/Guests/Guest[Name='"+Session]["select_name"]+"']");
        //參數是Xpath
        navigator.RemoveSelected();
        //執行刪除
        xmldocument.Save(Server.MapPath(datafile));
        //最后保存這個XML文檔
        navigator=null;
        //釋放類
        xmldocument=null ;
        //釋放XML文檔,這樣其他程序可以用它

        如需將XML文件中所有信息清除,使用“navigator.RemoveChildren();”語句即可實現。

        結 論
        綜上可知,C#編寫XML應用程序不但快捷而且方便,在編寫ASP.NET數據庫應用程序時,用XML文件替代一些小的Table,能減少許多數據庫存取連接,也能讓其他網絡程序更易使用這些數據。

        目前XML的主要瓶頸在于文件系統的讀出或寫入,故應使用更多內存和緩存方式,如果信息量不是巨大無比且修改量也較小,而瀏覽量巨大的話,使用XML方法將是很好的選擇;相反,如數據量巨大,應考慮使用支持XML的數據庫,無論你使用ADO+連接其他數據庫,還是使用SQL server,C#中都有直接的類函數可讓這些數據庫中的信息直接和XML交互訪問。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲天堂中文字幕在线观看| 免费在线观看亚洲| 久久久久久影院久久久久免费精品国产小说 | 亚洲乳大丰满中文字幕| 尤物视频在线免费观看| 亚洲不卡AV影片在线播放| 青草久久精品亚洲综合专区| 日韩免费视频网站| 无码人妻一区二区三区免费视频| 免费看小12萝裸体视频国产| 美女视频免费看一区二区| 亚洲成A人片在线观看无码3D| 一本久久A久久免费精品不卡| 在线观看亚洲精品国产| 国产午夜无码精品免费看| 在人线av无码免费高潮喷水| 国产精品亚洲精品观看不卡| 大学生a级毛片免费观看| 最新亚洲人成网站在线观看| 亚洲成A∨人片天堂网无码| 国产日韩久久免费影院 | 中文字幕亚洲一区| 日韩精品免费视频| 亚洲国产综合第一精品小说| 无码一区二区三区免费视频 | 一级有奶水毛片免费看| 亚洲视频在线播放| 毛片免费在线播放| 日韩a毛片免费观看| 亚洲AV无码成人精品区在线观看| 91高清免费国产自产| 亚洲av无码一区二区三区四区| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 亚洲精品中文字幕乱码三区| 狠狠躁狠狠爱免费视频无码| 久久久久亚洲AV无码永不| 无码国产精品一区二区免费I6| 麻豆安全免费网址入口| 亚洲天天在线日亚洲洲精| 成人黄18免费视频| 国产午夜无码精品免费看|