版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
授授i恥XXX授課:授課:XXX如果您需要使用本文檔?請(qǐng)點(diǎn)擊下載按鈕下載!VB.Net中用XML替代INI配置功能的完整教程TOC\o"1-5"\h\z~fq 1二、 內(nèi)容 1第一步:新建一個(gè)項(xiàng)目 1第二步:新建一個(gè)類 1第三步:寫類代碼 1\o"CurrentDocument"第四步:調(diào)用 5\o"CurrentDocument"第五步:測試 6\o"CurrentDocument"三、 尾聲 7\o"CurrentDocument"四、 附:實(shí)例 7一、前言吞所周知,xml文件很強(qiáng)大,從某種程度上說它完全替代ini也不為過,網(wǎng)上也有許多用VB.net從編寫xml文件的實(shí)例,但幾乎找不到一個(gè)完整的xml替代ini的實(shí)例(也許是我太菜?),于是自己寫了一個(gè)XML替代INI配置功能的完整類(當(dāng)然,也可以改為模塊),通過該類,創(chuàng)建、調(diào)用一個(gè)xml配置文件可以像VB6.0中配萱INI文件一樣簡簡單單,在MicrosoftVisualStudio2012中測試通過,好了,廢話不多說,看文!二、內(nèi)容第一步:新建一個(gè)項(xiàng)目首先,打開VB.Net,新建一個(gè)項(xiàng)目,這不用說了吧I「,咱現(xiàn)在是演示,一切命名都按默認(rèn)的吧。第二步:新建一個(gè)類接著,新建一個(gè)類,還是默認(rèn)命名(注意是類,不是模塊)。第二步:新建一個(gè)類接著,新建一個(gè)類,還是默認(rèn)命名(注意是類,不是模塊)。(LJClas.sl.vb-PX黑決方冥資湧管理器 ▼甲X(LJClas.sl.vb-PX黑決方冥資湧管理器 ▼甲X金?▼芒S創(chuàng)?classlForml.vb[設(shè)鯉輯決方奚資源管理器[Ctrl十;)P-鯉輯決方奚資源管理器[Ctrl十;)P-PublicClassClassi畫WindowsApplicationlEndClassAMyProjectForml.vb第三步:寫類代碼重點(diǎn)的代碼來了,在類中寫入以下代碼:如果您需要使用木文檔.請(qǐng)點(diǎn)擊下載按鈕下栽!==================代碼開始.勿復(fù)制木行============ImportsSystem?10ImportsSystem?XmlPublicClassClassi'*********************************************'材模塊名:XML_操作'**作 用:完整替代ini的xml操作類'**創(chuàng)建人:靈魂的纏綿'**日 期:2013-7-141*******冬********冬*******字*******字冬********冬*******Region"變雖聲明區(qū)少PublicSharedRootAsString=Hy?Application?Info.AssemblyName#EndRegion^Region"XML_創(chuàng)建"〈summary》'''【創(chuàng)建一個(gè)XML文檔】…根據(jù)[XML文件路徑]創(chuàng)建</summary/*'''<paramname=zXmlPath"XML文件路徑</param>'i<remarks></remarks>PublicSharedFunctionXML_Create(ByVaiXmlPathAsString)TryDim XmlWrite As New System.Xml.XmlTextWriter(XmlPath,System?Text?Encoding?GetEncodingCGB2312^))XmlWrite.Formatting=System?Xml.Formatting?Indented'「I動(dòng)縮進(jìn)XmlWrite.WriteStartDocument(True)1開始一個(gè)文檔自動(dòng)編寫版本并具有獨(dú)立屈件的XML聲期XmlWrite.WriteStartElement(Root)'開始根元索XmlWrite.WriteEndElement()、關(guān)閉根元索XmlWrite.WriteEndDocument()'文檔結(jié)束XmlWrite.Flush()'刷新XmlWrite.Close()'關(guān)閉ReturnTrueCatchexAsExceptionReturnFalseMsgBox(Err?Description)EndTryEndFunction#EndRegiontfRegion"XML_讀寫—公共撐〈summary》'''[XML_讀寫—公共】'''根據(jù)[讀寫狀態(tài)]判斷[讀][寫]操作'''有完整的[父、子節(jié)點(diǎn)]就改寫[子節(jié)點(diǎn)]內(nèi)容'''否則創(chuàng)建,并根據(jù)[節(jié)點(diǎn)預(yù)設(shè)值]寫[子節(jié)點(diǎn)]內(nèi)容如果您需要使用木文檔.請(qǐng)點(diǎn)擊下載按鈕下載!</summary/*八'<paramname="ReadWrite_Condition*>讀寫狀態(tài)</param>'''<paramname二"XmlNodeF"》父節(jié)點(diǎn)<7param><paramname二"XmlNodeZ"》子節(jié)點(diǎn)</$曲血》'''<paramname二"XmlNodeN">節(jié)點(diǎn)內(nèi)容</param>'''<paramname="XmlNodeY">節(jié)點(diǎn)預(yù)設(shè)值</param>*''<paramname=zXmlPath"XML文件路徑</param>'i<remarks></remarks>PublicSharedFunctionXML_ReadWrite^Common(ByVaiReadWrite_ConditionAsBoolean,ByVaiXmlNodeFAsString,ByVaiXmlXodeZAsString,ByVaiXmlXodeNAsString,ByVaiXmlNodeYAsString,ByVaiXmlPathAsString)AsStringTryXML_ReadWrite_Common=NothingIfFile.Exists(XmlPath)=FalseThenCallXML.Create(XmlPath)‘XML文件不存在就創(chuàng)建DimVEAsBoolean=Nothing'設(shè)邏一個(gè)值用于判斷是否|讀取]的情況卞[寫入]DimXmlDocAsNewXml.XmlDocument0XmlDoc?Load(XmlPath)DimNew_RootAsXml?XmlNode=XmlDoc?SelectSingleNode(Root)DimNew_XmlXodeFAsXml.XmlElement=NothingDimNew_XmlXodeZAsXml.XmlElement=NothingIfXmlNodeNIsNothingThenXmlNodeX=XmlXodeYDimNodePathFAsSystem?Xm1?XmlNode=XmlDoc?SelectSingleXode(Root&" &XmlNodeF)IfNodePathFIsNothingThenJ[父i"[]不存在創(chuàng)建一個(gè)從[父節(jié)點(diǎn)]開始的完整的節(jié)點(diǎn)New_XmlNodeF=XmlDoc?CreateElement(XmlNodeF)New_XmlNodeZ=XmlDoc?CreateElement(XmlXodeZ)New.XmlXodeZ.InnerText=XmlNodeNNew.XmlXodeF.AppendChild(New^XmlXodeZ)New_Root.AppendChild(New_XmlNodeF)VE=TrueIfReadWrite_Condition=TrueThenXML_ReadWrite_Common=XmlNodeYElse'[父節(jié)點(diǎn)]存在判斷[子節(jié)點(diǎn)]是否存在DimXodePathZAsSystem.Xml.XmlXode=XmlDoc.SelectSingleNode(Root&7"&XmlNodeF&7少&XmlNodeZ)IfNodePathZIsNothingThen'[子節(jié)點(diǎn)]不存在創(chuàng)建一個(gè)從E子節(jié)點(diǎn)|開始的完整的節(jié)點(diǎn)New^XmlNodeZ=XmlDoc?CreateElement(XmlXodeZ)New.XmlNodeZ.InnerText=XmlNodeNNew_Root?SelectSingleNode(XmlNodeF)?AppendChi1d(New_XmlNodeZ)IfReadWrite_Condition=TrueThenXML_ReadWrite_Common=XmlNodeYElse'[子節(jié)點(diǎn)]存在判斷是讀取還是寫入IfReadWrite_Condition=TrueThen''勺[讀寫狀態(tài)]為[讀]時(shí)IfVE=TrueThen'在[讀]時(shí)[寫]入'讀取的值為預(yù)設(shè)值XML_ReadWrite^Common=XmlNodeY授授i恥XXX授授i恥XXX如果您需要使用木文檔.請(qǐng)點(diǎn)擊下載按鈕下載!Else'讀取的值為[子節(jié)點(diǎn)]的值XML_ReadWrite_Common =New_Root?SelectSingleNode(XmlNodeF)?SelectSingleNode(XmlNodeZ)?InnerTextEndIfElse'當(dāng)[讀寫狀態(tài)]為[寫]時(shí)New_Root?SelectSingleNode(XmlXodeF)?SelectSingleNode(XmlNodeZ)?InnerText =XmlNodeNEndIfEndIfEndIfxmlDoc.Save(XmlPath)'保存CatchexAsExceptionReturnFalseMsgBox(Err?Description)EndTryEndFunctiontfEndRegiontJRegion"XML_讀MT〈summary〉'''【讀取節(jié)點(diǎn)】'''根據(jù)[父節(jié)點(diǎn)]和[子節(jié)點(diǎn)]定位'''如果[子節(jié)點(diǎn)]不存在或無任何內(nèi)容則根據(jù)[節(jié)點(diǎn)預(yù)設(shè)值]創(chuàng)建</summary〉'''<paramname二"XmlNodeF"》父節(jié)點(diǎn)</param><paramname="XmlNodeZ"》子節(jié)點(diǎn)</param>'''<paramname="XmlNodeY節(jié)點(diǎn)預(yù)設(shè)值</param>'''<paramnaiue^XmlPath"XML文件路徑</param><remarks></remarks>PublicSharedFunctionXML_Read(ByVaiXmlNodeFAsString,ByVaiXmlNodeZAsString,ByVaiXmlNodeYAsString,ByVaiXmlPathAsString)AsStringTryXML.Read=XML.ReadWrite.Common(True,XmlXodeF,XmlNodeZ,Nothing,XmlNodeY,XmlPath)CatchexAsExceptionReturnFalseMsgBox(Err?Description)EndTryEndFunction#EndRegion^RegionXML_寫入"〈summary》'''【寫節(jié)點(diǎn)】‘I根據(jù)[父節(jié)點(diǎn)]和[子節(jié)點(diǎn)]定位
如果您需要使用木文檔.請(qǐng)點(diǎn)擊下載按鈕下載!八‘如果[子節(jié)點(diǎn)]不存在或無任何內(nèi)容則很據(jù)[節(jié)?點(diǎn)內(nèi)容]創(chuàng)建,存在則根搖[節(jié)點(diǎn)內(nèi)容]覆蓋原數(shù)據(jù)</summary^'''<paramname二"XmlNodeF"》父節(jié)點(diǎn)<7param><paramname二"XmlNodeZ"》子節(jié)點(diǎn)</$曲血》'''<paramname二"XmlNodeN">節(jié)點(diǎn)內(nèi)容</param>'''<paramname=zXmlPath"XML文件路徑〈/param>'i<remarks></remarks>PublicSharedFunctionXML_Write(ByVaiXmlNodeFAsString,ByVaiXmlXodeZAsString,ByVaiXmlNodeNAsString,ByVaiXmlPathAsString)TryCallXML.ReadWrite.Common(False,XmlNodeF,XmlNodeZ,XmlNodeN,Nothing,XmlPath)ReturnTrueCatchexAsExceptionReturnFalseMsgBox(Err?Description)EndTryEndFunction#EndRegionEndClass=================代碼結(jié)束,勿復(fù)制木行===============好了,這樣類就寫好了,為了便于審閱,單擊左邊的“-”將各功能代碼折疊起來Class-l.vb*占Class-l.vb*占XForml.vb[設(shè)計(jì)]名:名:XML操作用:賓疹看代ini.的xml換作類人:靈逸的纏綿期:2013-7-14ImportsSystem.10ImportsSystem?ELpublicClass#肛_撓作>山古?” atl>elt eliq"ela也el>eli tL*el>alteit 9^al>alt W山山eli?!>ill?<??1??r?*j*?r??j??<??<??(??t??r?■.?*1*?4??1??<??<??<?*r?*t??jr??1??r?*<?*T??<??????4**1*?????■*1??1?■1??1?*1??.?*1*????1?*<??<? ?r??*??4?,**作'**創(chuàng)?日第四步:調(diào)用最后,可以調(diào)用了,調(diào)用前先做下準(zhǔn)備工作:在窗口Forml內(nèi)畫4個(gè)文本框TextBox和2個(gè)按鈕Button,布局如下圖。如果您需要使用本文檔?請(qǐng)點(diǎn)擊下載按鈕下載!Classl.vb*卡XForml.vb[設(shè)計(jì)了刃X在在窗口代碼中寫入如下代碼=================代碼開始,勿復(fù)制木行PublicClassFormlDimXML—路徑AsString=Environment?GetFolderPath(EnvironinErrt?SpecialFolder.Desktop)&"\XML酉丄測試.xmr'PrivateSubButtonl_Click(senderAsObject,eAsEventArgs)HandlesBut
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026上半年海南事業(yè)單位聯(lián)考三亞市營商環(huán)境建設(shè)局下屬事業(yè)單位招聘工作人員4人第1號(hào)筆試參考題庫及答案解析
- 2025年綜合類崗位事業(yè)單位考試及答案
- 2025年飛行員初試筆試及答案
- 2026年安慶市宿松縣隘口鄉(xiāng)公開招聘村級(jí)后備干部考試備考題庫及答案解析
- 2026年不同經(jīng)濟(jì)模式下的房地產(chǎn)投資分析
- 2025年長春事業(yè)編區(qū)縣考試真題及答案
- 2025年農(nóng)行信息科技筆試題庫及答案
- 2025年天津小學(xué)科學(xué)老師筆試及答案
- 2025年海信財(cái)務(wù)管培生筆試及答案
- 2026西藏大學(xué)招聘10人筆試備考題庫及答案解析
- 海參供貨合同范例
- 工程勘察設(shè)計(jì)行業(yè)質(zhì)量管理體系
- 復(fù)方蒲公英注射液對(duì)心血管系統(tǒng)作用研究
- 2021-2022學(xué)年浙江省寧波市鎮(zhèn)海區(qū)蛟川書院八年級(jí)(上)期末數(shù)學(xué)試卷(附答案詳解)
- (新版)老年人能力評(píng)估師理論考試復(fù)習(xí)題庫(含答案)
- 光纖激光打標(biāo)機(jī)說明書
- 治理現(xiàn)代化下的高校合同管理
- 境外宗教滲透與云南邊疆民族地區(qū)意識(shí)形態(tài)安全研究
- GB/T 28920-2012教學(xué)實(shí)驗(yàn)用危險(xiǎn)固體、液體的使用與保管
- ARDS患者的護(hù)理查房課件
- 人大企業(yè)經(jīng)濟(jì)學(xué)考研真題-802經(jīng)濟(jì)學(xué)綜合歷年真題重點(diǎn)
評(píng)論
0/150
提交評(píng)論