欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vbscript 读取xml格式的配置文件

程序员文章站 2022-04-29 09:12:13
复制代码 代码如下:class clsgetprofile ' ルートドキュメント private rootdoc ' 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>