解析.NET FileStreams如何將DTD插入XML文件中_.Net教程
推薦: 解析VB.NET中的常量與枚舉功能在程序運(yùn)行的過程中始終固定不變的量稱為常量。由于在程序設(shè)計(jì)和開發(fā)時(shí)經(jīng)常會(huì)反復(fù)地運(yùn)用一些常數(shù),而且它們代表的含義有時(shí)候非常難記,所以每次都需要去核對(duì),如果定義了常量將使之簡單化
.NET類則更加方便,它會(huì)帶給你更多使用上的靈活性。
技術(shù)工具箱: VB.NET, XML, ADO.NET
ADO.NET提供了一種很好的功能來處理dataset和XML之間的轉(zhuǎn)換。你可以通過VS.NET在XML中形象地創(chuàng)建dataset schema。同一個(gè)document type definition(DTD)一樣,schema允許你驗(yàn)證和創(chuàng)建XML文件,但相比之下使用.NET類則更加方便,它會(huì)帶給你更多使用上的靈活性。
然而DTD并非毫無用處。它是廣泛應(yīng)用于非.NET程序中的Internet和數(shù)據(jù)轉(zhuǎn)換的World Wide Web Consortium(W3C)標(biāo)準(zhǔn)。為了能夠?qū)崿F(xiàn)向后(即非.NET)兼容性,.NET Framework中包含了通過DTDs來驗(yàn)證XML的性能�!�
然而,就算你需要在一個(gè)由Web程序生成的輸出XML文件中包含一個(gè)DTD,這種情況也是不存在的,或者即使存在,也缺乏可參考的標(biāo)準(zhǔn)文件。
而System.IO.FileStream對(duì)象能幫你解決這個(gè)問題。你可以創(chuàng)建一個(gè)FileStream并將DTD插入你的XML文件中,一個(gè)FileStream又引出兩種FileStream――它們分別從DTD和dataset中得到。你可以用DTD文件和一些范例XML來設(shè)計(jì)DataSet schema。VS.NET的Visual Data Set設(shè)計(jì)界面使這個(gè)工作變得很簡單,而存儲(chǔ)在應(yīng)用程序文件夾中的DTD文件會(huì)被包含在最終形成的XML里�!�
這個(gè)方法用到了許多種不同的FileStreams。一種FileStream (Stream A)中包含有關(guān)DTD的信息;另一種FileStream(Stream B)用于創(chuàng)建最終的XML文件。Stream A會(huì)流入Stream B中;DataSet會(huì)直接流入Stream B中;然后Stream B會(huì)關(guān)閉并作為一個(gè)XML文件存入你的文件系統(tǒng)中。
首先應(yīng)該準(zhǔn)備的是DataSet,你可以創(chuàng)建一個(gè)新的基于schema的dataset,然后進(jìn)行數(shù)據(jù)綁定。接下來,將DTD文件讀取到一個(gè)FileStream(Stream A)中。你可以通過創(chuàng)建一個(gè)FileStream對(duì)象和一個(gè)StreamReader對(duì)象來實(shí)現(xiàn)這一點(diǎn)。通過StreamReader來將文本文件讀取到FileStream中:
接下來要準(zhǔn)備的是用于創(chuàng)建最終的輸出文件的主要FileStream (Stream B)。新建一個(gè)FileStream,然后用一個(gè)StreamWriter來創(chuàng)建一個(gè)新文件。此時(shí),這個(gè)新文件被稱為Final.XML;你可以在Web程序文件夾中創(chuàng)建它。你需要注意IO.FileMode.Create。符合你需要的文件模式有許多種:
分享:使用ADO.NET2.0提升數(shù)據(jù)交互性能(5)六:DataTable和其他方面的性能提升 另一個(gè)好消息是DataTable的功能被大大增強(qiáng)了。畢竟我們不是時(shí)時(shí)需要Dataset。 1.裝載XML數(shù)據(jù) 在 ADO.NET 1.* 時(shí),離線的數(shù)據(jù)訪問模型以 DataSet
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- Google免費(fèi)的SVN服務(wù)器管理VS2010代碼
- 在.net中如何利用數(shù)據(jù)工廠實(shí)現(xiàn)多數(shù)據(jù)庫的操作
- asp.net2.0 URL重寫以及urlMappings問題(2)
- ASP.NET立即上手教程(9)
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- 解讀ASP.NET網(wǎng)絡(luò)編程中經(jīng)常用到的27個(gè)函數(shù)集
- Asp.net Ajax--Calendar控件使用
- 淺析ASP.NET MVC :MVC頁面驗(yàn)證與授權(quán)
- 如何在ASP.Net中實(shí)現(xiàn)RSA加密
- 相關(guān)鏈接:
- 教程說明:
.Net教程-解析.NET FileStreams如何將DTD插入XML文件中
。