利用XML序列化實現(xiàn)程序配置文件_

上傳人:x** 文檔編號:24920109 上傳時間:2021-07-16 格式:DOCX 頁數(shù):6 大?。?3.12KB
收藏 版權(quán)申訴 舉報 下載
利用XML序列化實現(xiàn)程序配置文件__第1頁
第1頁 / 共6頁
利用XML序列化實現(xiàn)程序配置文件__第2頁
第2頁 / 共6頁
利用XML序列化實現(xiàn)程序配置文件__第3頁
第3頁 / 共6頁

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《利用XML序列化實現(xiàn)程序配置文件_》由會員分享,可在線閱讀,更多相關(guān)《利用XML序列化實現(xiàn)程序配置文件_(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、利用XML序列化實現(xiàn)程序配置文件_ 有些應(yīng)用程序在退出的時候,會將一些設(shè)置值寫入到文件里,以便下次程序啟動時調(diào)用,這個文件統(tǒng)稱為配置文件。例如:Windows的掃雷程序,在每次啟動的時候,都會消失在上次關(guān)閉的位置,就是由于掃雷程序在退出的時候?qū)?dāng)前位置寫入到配置文件里。 早期的配置文件的實現(xiàn)有兩種方法。一是INI文件,在Win32的API中還特地有讀寫INI文件的API函數(shù);另一個是注冊表,這也是許多程序的首選,在版本較新的掃雷程序就是利用注冊表實現(xiàn)配置函數(shù)。不過,上述的兩種方法都有其的局限性。INI文件,結(jié)構(gòu)簡潔,簡單編輯,有容量的上限(64K)。注冊表雖然沒有容量的限制,不過

2、讀寫注冊表還是一件很麻煩的事,而且還簡單在注冊表中產(chǎn)生冗余(刪除程序的時候還得操作注冊表),也有和其他程序想沖的可能。最主要的問題就是,無論是INI文件還是注冊表都只能實現(xiàn)簡潔的配置讀寫,很難實現(xiàn)類似對象的讀寫,由于他們的條目之間是平行的,而不是類似樹狀的節(jié)點結(jié)構(gòu)(注冊表雖能實現(xiàn)樹狀結(jié)構(gòu),但是讀寫還是比較麻煩,也不太平安)。 而利用XML文件就能很好的彌補上面的不足。首先是文件型的,不會讀寫注冊表,不會有平安的后顧之憂;其次沒有文件容量大小的限制,而且XML文件天生是樹狀結(jié)構(gòu),很適合實現(xiàn)對象的讀寫。目前XML文件的應(yīng)用越來越廣泛,已經(jīng)成為主流,你任憑打開一個程序所在的名目,很少不看到X

3、ML文件的,而且主流的開發(fā)軟件都有讀寫XML的庫文件。操作XML文件現(xiàn)在是很便利的一件事。 XML文件序列化是XML技術(shù)的一個分支,他可以把程序中的一個對象(例如自己編寫的類的一個實例)序列化成XML文件。他也可以把XML文件反序列化為程序中的一個對象。 有關(guān)XML序列化比較好的文章,我個人感覺下面這篇比較好。 NET對象的XML序列化和反序列化 這就給了我們的一個思路,我們可以把要讀寫的配置封裝在自己編寫的配置類中,然后通過XML序列化,來實現(xiàn)配置類和XML文件的轉(zhuǎn)化。 例如:下面這個例子就是利用XML序列化在類對象和XML之間轉(zhuǎn)換,用的是C#

4、 下面例子中的xml schema 描述了一個簡潔的人力資源信息,其中包含了xml的大部分格式,如xml 元素相互嵌套, xml元素既有元素值,又有屬性值。 1. 待序列化的類層次結(jié)構(gòu) [XmlRoot("humanResource")]public class HumanResource { private int m_record = 0; private Worker[] m_workers = null; [XmlAttribute(AttributeName="record")]public int Record { g

5、et { return m_record; } set { m_record = value; } [XmlElement(ElementName="worker")]public Worker[] Workers { get { return m_workers; } set { m_workers = value; } } } public class Worker { private string m_number = null; private InformationItem[] m_inf

6、oItems = null; [XmlAttribute("number")]public string Number { get { return m_number; } set { m_number = value; } } [XmlElement("infoItem")]public InformationItem[] InfoItems { get { return m_infoItems; } set { m_infoItems = value; } } } public class In

7、formationItem { private string m_name = null; private string m_value = null; [XmlAttribute(AttributeName = "name")]public string Name { get { return m_name; } set { m_name = value; } } [XmlText]public string Value { get { return m_value; } set { m_valu

8、e = value; } } } 2. 序列化生成的xml結(jié)構(gòu) ?xml version="1.0" ? humanResource xmlns:xsi="" xmlns:xsd="" record="2" worker number="001" infoItem name="name"Michale/infoItem infoItem name="sex"male/infoItem infoItem name="age"25/infoItem /worker worker number="002" infoItem name="name"Surce/infoItem infoItem name="sex"male/infoItem infoItem name="age"28/infoItem /worker /humanResource 更多信息請查看IT技術(shù)專欄 ...

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!