自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#編程實現(xiàn)顯示XML文件

開發(fā) 后端
這里介紹用C#編程實現(xiàn)顯示XML文件中信息的方法是使用.NET提供的標準類把XML文件內(nèi)容讀入一個StreamReader類對象中。

C#語言編程有很多值得學習的地方,這里我們主要介紹C#編程實現(xiàn)顯示XML文件,包括介紹在Web Form中分別增加相應的四個Label等方面。

C#編程實現(xiàn)顯示XML文件

由于XML的易共享性等眾多優(yōu)點,XML技術越來越多地被應用于企業(yè)數(shù)據(jù)處理等領域,如應用于企業(yè)報表、新聞發(fā)布、會計數(shù)據(jù)處理等等。

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

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

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

C#編程實現(xiàn)顯示XML文件內(nèi)容

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

  1. using System.Xml;  
  2. //處理XML必須加的Namespace,還需在References中加System.XML.Dll  
  3. using System.IO;  
  4. //讀XML文件必須加的Namespace  
  5. 然后在Page_Load中加入如下代碼:  
  6. protected void Page_Load(object sender, EventArgs e){  
  7. string datafile="guest.xml" ;  
  8. //假設XML文件名為guest.xml  
  9. StreamReader tyj=new StreamReader(Server.MapPath(datafile));  
  10. XmlDataDocument datadoc = new XmlDataDocument();  
  11. //創(chuàng)建該對象為了讀取XML  
  12. datadoc.DataSet.ReadXml(tyj);  
  13. //讀取guest.xml文件內(nèi)容  
  14. DataGrid1.DataSource = datadoc.DataSet.Tables[0].DefaultView;  
  15. //設置DataGrid數(shù)據(jù)源  
  16. DataGrid1.DataBind();  
  17. //綁定  
  18. datadoc=null ;  
  19. //釋放資源  
  20. tyj.Close();}  
  21. //釋放StreamReader類,這非常重要,否則下次打開會顯示文件已經(jīng)被使用  
  22. 對應于顯示用的Web Form中DataGrid的功能,我們需要增加下面的函數(shù):  
  23. protected void OnSelectName(object sender,EventArgs e) {  
  24. Session["select_name"]=(string)DataGrid1.SelectedItem.Cells[1].Text.ToString();  
  25. //把選定的 DataGrid某行中的一個單元中的值(Name)存入一個會話變量中,以便下一頁用  
  26. Response.Redirect("xml_manage.aspx");}  
  27. //轉(zhuǎn)到有增加刪除功能的管理頁  
  28. Web Form加入以下代碼:  
  29. <asp:DataGrid id=DataGrid1 runat="server" onselectedindexchanged="OnSelectName" >  
  30. <property name="Columns">  
  31. <asp:buttoncolumn Text="選擇" commandname="Select" />  
  32. </property> 

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

增加XML文件內(nèi)容

在Web Form中分別增加相應的四個Label(姓名,來自哪里,Email地址,留言內(nèi)容)和四個TextBox和一個用于提交的Button,并為這button增加如下代碼:

  1. string datafile = "guest.xml" ;XmlDocument xmldocument = new XmlDocument() ;  
  2. xmldocument.Load(Server.MapPath(datafile)) ;  
  3. //把guest.xml讀到xmldocument中  
  4. DocumentNavigator navigator = new DocumentNavigator(xmldocument) ;  
  5. //最重要的類  
  6. navigator.MoveToDocumentElement() ;  
  7. navigator.Insert(System.Xml.TreePosition.FirstChild, 
    XmlNodeType.Element, "Guest","","") ;//插入節(jié)點Guest  
  8.     navigator.Insert(System.Xml.TreePosition.FirstChild, 
    XmlNodeType.Element, "Name","","") ;  
  9. navigator.Insert(System.Xml.TreePosition.FirstChild, 
    XmlNodeType.Text,"Name","","") ;  
  10. navigator.Value=Name.Text ;  
  11. //為該節(jié)點賦值  
  12. navigator.MoveToParent() ;  
  13. //返回父節(jié)點 Guest  
  14. ……  
  15. //使用同類語句,在元素Name下插入另一些元素如Country、E-mail地址和留言等  
  16. xmldocument.Save(Server.MapPath(datafile));  
  17. //最后保存這個XML文檔  
  18. navigator=null ;  
  19. xmldocument=null ;  
  20. //釋放XML文檔,這樣其他程序可以用它  
  21. 上述代碼使用DocumentNavigator類增加元素和內(nèi)容,注意使用后要釋放資源。  
  22. 刪除XML文件內(nèi)容  
  23. 刪除選定記錄,對于你上面選擇的節(jié)點,下面代碼可查找到該節(jié)點并清除選中的信息:  
  24. string datafile = "guest.xml" ;  
  25. XmlDocument xmldocument = new XmlDocument() ;  
  26. xmldocument.Load(Server.MapPath(datafile)) ;  
  27. //把guest.xml讀到xmldocument中  
  28. DocumentNavigator navigator = new DocumentNavigator(xmldocument) ;  
  29. navigator.MoveToDocumentElement() ;  
  30. navigator.Select("/Guests/Guest[Name=""+Session["select_name"]+""]");  
  31. //參數(shù)是XPath  
  32. navigator.RemoveSelected();  
  33. //執(zhí)行刪除  
  34. xmldocument.Save(Server.MapPath(datafile));  
  35. //最后保存這個XML文檔  
  36. navigator=null;  
  37. //釋放類  
  38. xmldocument=null ;  
  39. //釋放XML文檔,這樣其他程序可以用它 

C#編程實現(xiàn)顯示XML文件結(jié)論

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

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

【編輯推薦】

  1. C#與VB7比較詳解
  2. C#連接Access淺析
  3. C#創(chuàng)建XML Web services學習經(jīng)驗
  4. C# Windows應用程序概述
  5. C# SmartPhone程序?qū)W習筆記
責任編輯:佚名 來源: 博客園
相關推薦

2009-09-09 18:00:55

C# XML編程

2009-09-09 18:20:29

C# XML編程

2009-08-18 17:05:08

C#操作xml文件

2009-08-24 17:58:19

C#讀取XML文件

2009-08-12 16:26:30

C#讀取XML文檔

2009-08-21 10:00:43

C#創(chuàng)建XML文件XmlTextWrit

2009-08-25 09:19:01

C#實現(xiàn)窗體顯示

2009-07-31 18:28:46

實現(xiàn)C#顯示圖像

2009-08-24 10:06:31

C#接口成員

2009-08-24 18:06:36

源程序代碼C#讀取XML文件

2009-08-12 11:33:23

C#實現(xiàn)文件下載

2009-09-08 15:12:07

C# ListBox

2009-09-03 09:44:02

DropDownLisC#遞歸

2009-08-18 16:42:49

C# 操作XML

2009-08-18 17:11:03

C#操作XML文件

2009-08-18 13:35:06

C#枚舉文件

2009-09-04 14:14:55

C#文檔

2009-09-09 13:57:28

C# XML解析

2009-08-19 16:42:41

C#如何使用XML

2009-09-01 09:12:37

C# System.X
點贊
收藏

51CTO技術棧公眾號