vbscript 读取xml格式的配置文件

所属分类: 脚本专栏 / vbs 阅读数: 1874
收藏 0 赞 0 分享
复制代码 代码如下:

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>
更多精彩内容其他人还在看

一个用vbs查找硬盘所有分区中的指定程序的代码

用vbs实现可以查找指定扩展名的文件,方便大家搜索
收藏 0 赞 0 分享

用vbs操作注册表实例代码

自己最近没事研究注册表,下面我想将自己找到的一些实用的VBS脚本送给大家
收藏 0 赞 0 分享

用VBS来代替BAT或CMD文件进行命令第1/2页

忽然想到要用VBS来代替BAT或CMD文件进行命令集成,于是开始下苦工学习了一番!在网上找了好久终于找到东西。
收藏 0 赞 0 分享

禁止QQ上网的vbs脚本代码

用vbs查找系统进程,发现qq的进程则杀掉就是这段代码的原理
收藏 0 赞 0 分享

用vbs实现注册表开关的脚本

注册表开关[以下代码保存为.vbs]
收藏 0 赞 0 分享

用vbs实现解除注册表CMD、Regedit、Taskmgr限制的脚本代码

vbs解除CMD、Regedit、Taskmgr限制的代码
收藏 0 赞 0 分享

自己写的一个定时关机或重启的vbs脚本

'以下代码是定时关机或重启的脚本,在windows 2000下通过
收藏 0 赞 0 分享

关于phpwind克隆用户的方法

用vbs实现编码转换
收藏 0 赞 0 分享

vbs中的LoadPicture函数示例

vbscript LoadPicture函数可以查看本地图片的一些信息,不过有些漏洞,纯交流可以,不建议使用
收藏 0 赞 0 分享

vbs循环产生的参数的传递问题

用vbs实现循环产生参数的传递问题,建议大家测试学习
收藏 0 赞 0 分享
查看更多