vbscript 读取xml格式的配置文件 |
复制代码 代码如下: 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> |