网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 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>
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/22 4:17:41