标题 | vbscript 读取xml格式的配置文件 |
内容 | 最近一项目中,vbs脚本需要读取配置文件,本来考虑用ini来做配置文件,但是vbs里没有现成读写ini文件的支持,于是考虑用xml来做配置文件,使用xmldom来读取。写成个class使用起来应该方便一些。贴来备忘一下。 代码如下: Class clsGetProfile ' ルートドキュメント Private rootDoc ' xmlファイル名とセクション名をセットする ' 引数: 「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 ' キーの対応する値を取得する ' 引数: 「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ファイル名とセクション名をセットする ' 引数: 「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 ' キーの対応する値を取得する ' 引数: 「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") 配置文件格式: 代码如下: <?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> |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。