当前位置: 首页 > news >正文

vbscript脚本1-读取xml格式的配置文件

最近一项目中,vbs脚本需要读取配置文件,本来考虑用ini来做配置文件,但是vbs里没有现成读写ini文件的支持,于是考虑用xml来做配置文件,使用xmldom来读取。写成个class使用起来应该方便一些。贴来备忘一下。

http://blog.csdn.net/zmxj/archive/2009/02/13/3887576.aspx

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>

相关文章:

  • vbscript脚本2-实现include的办法
  • C# xml反序列化
  • C# 获得本地IP地址
  • [ListView.View=List]的垂直滚动条
  • C# html编码和文本的转换
  • 服务质量:电信无法回避的短板
  • C# 使用.NET性能计数器示例 绘制出正弦函数图像
  • 软件开发者面试百问
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • 情人节的礼物——书写是为了更好地思考——回应未鹏
  • Fiddler 发请求时 设置 cookie
  • Xml CData的使用 获取原始的节点内容
  • Nebula3中的Message
  • HttpHandler 异步监听请求
  • 互联网进军影视作品的软广告
  • 分享的文章《人生如棋》
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • CSS中外联样式表代表的含义
  • Docker容器管理
  • Fundebug计费标准解释:事件数是如何定义的?
  • gops —— Go 程序诊断分析工具
  • HashMap剖析之内部结构
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Java多线程(4):使用线程池执行定时任务
  • Just for fun——迅速写完快速排序
  • Laravel核心解读--Facades
  • LintCode 31. partitionArray 数组划分
  • Vue实战(四)登录/注册页的实现
  • 阿里云购买磁盘后挂载
  • 创建一个Struts2项目maven 方式
  • 分享一份非常强势的Android面试题
  • 关于字符编码你应该知道的事情
  • 记一次用 NodeJs 实现模拟登录的思路
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 聊聊hikari连接池的leakDetectionThreshold
  • 码农张的Bug人生 - 初来乍到
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用putty远程连接linux
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 从如何停掉 Promise 链说起
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​什么是bug?bug的源头在哪里?
  • #ifdef 的技巧用法
  • #QT(TCP网络编程-服务端)
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (C语言)共用体union的用法举例
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (强烈推荐)移动端音视频从零到上手(上)
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)人的集合论——移山之道
  • ***监测系统的构建(chkrootkit )
  • .naturalWidth 和naturalHeight属性,