vbscript 讀取xml格式的配置文件
更新時(shí)間:2009年02月25日 05:16:12 作者:
最近一項(xiàng)目中,vbs腳本需要讀取配置文件,本來考慮用ini來做配置文件,但是vbs里沒有現(xiàn)成讀寫ini文件的支持,于是考慮用xml來做配置文件,使用xmldom來讀取。寫成個(gè)class使用起來應(yīng)該方便一些。貼來備忘一下。
復(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="処理開始。"/>
<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)文章
vbs TLI.TLIApplication 被遺忘的COM組件
TLI.TLIApplication是一個(gè)能獲取COM組件Type Library Information(類型庫信息)的COM組件。2011-01-01使用 Iisftp.vbs 停止FTP站點(diǎn)的方法
這篇文章主要介紹了使用 Iisftp.vbs 停止FTP站點(diǎn)的方法,需要的朋友可以參考下2014-07-07VBS教程:VBscript語句-If...Then...Else 語句
If...Then...Else 語句用于計(jì)算條件是否為 True 或 False,并且根據(jù)計(jì)算結(jié)果指定要運(yùn)行的語句。通常,條件是使用比較運(yùn)算符對(duì)值或變量進(jìn)行比較的表達(dá)式。If...Then...Else 語句可以按照需要進(jìn)行嵌套2006-11-11注冊(cè)表-批處理-VBS之間的功能對(duì)應(yīng)
這篇文章主要介紹了注冊(cè)表-批處理-VBS之間的功能對(duì)應(yīng)2007-02-02基于邏輯運(yùn)算的簡單權(quán)限系統(tǒng)(原理,設(shè)計(jì),實(shí)現(xiàn)) VBS 版
基于邏輯運(yùn)算的簡單權(quán)限系統(tǒng)(原理,設(shè)計(jì),實(shí)現(xiàn)) VBS 版...2007-03-03用vbs實(shí)現(xiàn)枚舉網(wǎng)絡(luò)連接的代碼
用vbs實(shí)現(xiàn)枚舉網(wǎng)絡(luò)連接的代碼...2007-05-05