vbscript 讀取xml格式的配置文件
更新時(shí)間:2009年02月25日 05:16:12 作者:
最近一項(xiàng)目中,vbs腳本需要讀取配置文件,本來(lái)考慮用ini來(lái)做配置文件,但是vbs里沒(méi)有現(xiàn)成讀寫ini文件的支持,于是考慮用xml來(lái)做配置文件,使用xmldom來(lái)讀取。寫成個(gè)class使用起來(lái)應(yīng)該方便一些。貼來(lái)備忘一下。
復(fù)制代碼 代碼如下:
Class clsGetProfile
' ルートドキュメント
Private rootDoc
' xmlファイル名とセクション名をセットする
' 引數(shù): 「1」ファイル名 NOT NULL
' 戻り値:なし
Public Sub setProfile(strFileName)
Set data_xml = CreateObject("Microsoft.XMLDOM")
data_xml.async = False
data_xml.load(strFileName)
Set rootDoc = data_xml.documentElement
End Sub
' キーの対応する値を取得する
' 引數(shù): 「1」キー名 NOT NULL
' 「2」セクション名 NOT NULL
' 戻り値:キーの対応する値
Public Function getItem(strSectionName, itemName)
Set sectionNode = rootDoc.selectSingleNode(strSectionName)
getItem = sectionNode.selectSingleNode(itemName).attributes(0).nodeValue
End Function
End Class
' 使用サンプル
' クラスインスタンスを生成する
'Dim config : Set config = New clsGetProfile
' 配置ファイル名とセクション名をセットする
'Call config.setProfile("Config.xml")
' きーの対応する値をゲットする
'WScript.Echo config.getItem("MessageDefine", "INFO.001")
'WScript.Echo config.getItem("MessageDefine", "INFO.003")
'WScript.Echo config.getItem("MessageDefine", "ERROR.009")
'WScript.Echo config.getItem("MessageDefine", "ERROR.012")
Class clsGetProfile
' ルートドキュメント
Private rootDoc
' xmlファイル名とセクション名をセットする
' 引數(shù): 「1」ファイル名 NOT NULL
' 戻り値:なし
Public Sub setProfile(strFileName)
Set data_xml = CreateObject("Microsoft.XMLDOM")
data_xml.async = False
data_xml.load(strFileName)
Set rootDoc = data_xml.documentElement
End Sub
' キーの対応する値を取得する
' 引數(shù): 「1」キー名 NOT NULL
' 「2」セクション名 NOT NULL
' 戻り値:キーの対応する値
Public Function getItem(strSectionName, itemName)
Set sectionNode = rootDoc.selectSingleNode(strSectionName)
getItem = sectionNode.selectSingleNode(itemName).attributes(0).nodeValue
End Function
End Class
' 使用サンプル
' クラスインスタンスを生成する
'Dim config : Set config = New clsGetProfile
' 配置ファイル名とセクション名をセットする
'Call config.setProfile("Config.xml")
' きーの対応する値をゲットする
'WScript.Echo config.getItem("MessageDefine", "INFO.001")
'WScript.Echo config.getItem("MessageDefine", "INFO.003")
'WScript.Echo config.getItem("MessageDefine", "ERROR.009")
'WScript.Echo config.getItem("MessageDefine", "ERROR.012")
配置文件格式:
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<!--メッセージ定義
-->
<MessageDefine>
<Info.001 value="処理開(kāi)始。"/>
<Info.002 value="処理終了。"/>
<Info.003 value="処理異常終了。"/>
<Info.004 value="処理中止。"/>
</MessageDefine>
<!-- その他配置
-->
<OtherSection>
<host value="192.168.0.241"/>
<user value="root"/>
</OtherSection>
<WindowsLogToolConfig>
<host value="192.168.0.188"/>
<port value="3306"/>
</WindowsLogToolConfig>
</Configuration>
相關(guān)文章
利用計(jì)劃任務(wù)和VBS腳本實(shí)現(xiàn)自動(dòng)WEB共享文件夾里的文件
其實(shí)沒(méi)有題目寫得那么復(fù)雜,就是用計(jì)劃任務(wù)每隔一段時(shí)間調(diào)用VBS腳本,刷新生成一個(gè)文件列表文件用于WEB服務(wù)調(diào)用。2008-12-12
用vbs實(shí)現(xiàn)在啟動(dòng) Windows 資源管理器時(shí)打開(kāi)特定文件夾
首先創(chuàng)建 Wscript.Shell 對(duì)象的實(shí)例;它是 Windows Script Host 對(duì)象,我們用它來(lái)在另一腳本內(nèi)運(yùn)行腳本或可執(zhí)行文件2007-03-03
slmgr-命令詳解(Windows軟件授權(quán)管理工具)
slmgr是Software LicenseManger的簡(jiǎn)稱,是Windows軟件授權(quán)管理工具,slmgr是管理系統(tǒng)激活和密鑰、證書的主要組件2024-11-11
用vbs實(shí)現(xiàn)刪除名稱中有撇號(hào)的文件夾
用vbs實(shí)現(xiàn)刪除名稱中有撇號(hào)的文件夾...2007-03-03
在vbscript中判斷COM類是否存在的實(shí)現(xiàn)代碼
在VBS中,我們有時(shí)需要判斷一個(gè)COM類是否存在,以便執(zhí)行不同的操作,需要的朋友可以參考下2018-06-06
vbs SendKey 用法 Sendkey 鍵盤對(duì)應(yīng)的碼表
簡(jiǎn)單說(shuō),這個(gè)命令就是模擬鍵盤操作,將一個(gè)或多個(gè)按鍵指令發(fā)送到指定Windows窗口來(lái)控制應(yīng)用程序運(yùn)行2009-04-04

