六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

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

[摘要]C#的Web XML編程 唐一均 2002-1-25 ------------------------------------------------------------------------...
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交互訪問。




主站蜘蛛池模板: 日本精品a在线观看 | 碰91精品国产91久久婷婷 | 日韩久草视频 | 午夜污污 | 日韩精品亚洲专区在线观看 | 四虎影视在线影院4hu | 天堂中文网| 色综合五月婷婷 | 伊人久久大线蕉香港三级 | 综合热久久 | 五月天婷婷色综合 | 在线观看 亚洲 | 日韩精选 | 五月婷婷深爱 | 综合色网站 | 亚洲天堂2014 | 四虎影视免费永久在线观看黄 | 午夜啪啪免费视频 | 欧美在线观看一区二区三 | 一级女性全黄久久生活片免费 | 天堂网址 | 日韩一级在线观看 | 欧美一区二区三区日韩免费播 | 天天综合网久久 | 亚洲黄色网址大全 | 午夜影院欧美 | 香草影院 | 天天看有黄有色大片 | 色香欲亚洲天天综合网 | 日韩无套| 日本七大伦理经典在线观看 | 亚洲第一看片 | 日韩毛片免费视频一级特黄 | 五月婷婷激情四射 | 中文在线第一页 | 欧美性野久久久久久久久 | 日韩看片网站 | 青青草免费观看视频 | 日韩不卡在线视频 | 午夜影院普通用户体验区 | 欧美一级做一级爱a做片性 欧美一级做一a做片性视频 |