<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ★33°空間‰


                           ----★七彩服飾  【最潮拜☆日單精品】【Esprit】【Hotwind】滿150包郵-女裝-流行女裝    www.7color.hb.cn

                           ----智力比知識重要,素質比智力重要,覺悟比素質更重要
    posts - 110,comments - 35,trackbacks - 0
    由于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加入以下代碼:









    代碼的作用是當按了“選擇”按鈕后,執行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交互訪問。
    posted on 2007-03-22 11:53 圣域飛俠 閱讀(198) 評論(0)  編輯  收藏 所屬分類: 個人心得
    主站蜘蛛池模板: 亚洲成色WWW久久网站| 爱情岛论坛网亚洲品质自拍| 在线精品亚洲一区二区三区| 国产精品亚洲精品日韩动图| 亚洲粉嫩美白在线| 69国产精品视频免费| 亚洲精品视频在线| 亚洲人成电影在线观看网| 人成午夜免费大片在线观看| 亚洲精品视频免费| 成人免费乱码大片A毛片| 亚洲永久无码3D动漫一区| 免费成人在线视频观看| 免费无遮挡无码视频网站| 亚洲欧美日韩一区二区三区| 国产婷婷成人久久Av免费高清| 亚洲av无码乱码国产精品| 婷婷亚洲综合五月天小说在线| 污视频在线观看免费| 日本19禁啪啪无遮挡免费动图| 在线亚洲97se亚洲综合在线| 精品多毛少妇人妻AV免费久久| 亚洲av中文无码乱人伦在线播放 | 女人与禽交视频免费看| 亚洲不卡av不卡一区二区| 3d动漫精品啪啪一区二区免费| 亚洲mv国产精品mv日本mv| 国产精品免费电影| a级毛片在线免费| 亚洲第一页综合图片自拍| 亚洲av永久无码精品天堂久久| 青青青国产免费一夜七次郎| 一个人晚上在线观看的免费视频| 啦啦啦www免费视频| 国产精品免费视频观看拍拍| 99久久免费国产精精品| 亚洲综合男人的天堂色婷婷| 国产成人精品免费视频大全五级| 99re8这里有精品热视频免费| 亚洲免费一级视频| 亚洲午夜AV无码专区在线播放 |