利用vbs读取XML中的某个指定子叶节点 (转)
-------------------------------------------------------------------------------------------------------
Function GetXml (strXmlFilePath,nodestring)
Dim xmlDoc,xmlRoot
Set xmlDoc = CreateObject("Microsoft.XMLDOM") '创建XML DOM对象
xmlDoc.async = False  '控制加载模式为同步模式(xml树加载完毕后再执行后续代码)
xmlDoc.load strXmlFilePath        '载入xml文件
If xmlDoc.parseError.errorCode <> 0 Then
MsgBox "XML文件格式不对,原因是:" & Chr(13) &  xmlDoc.parseError.reason
Exit Function              
End If
Set xmlRoot = xmlDoc.documentElement    
Nodes =  Split(nodestring, "\") 
GetXml = xmlRecursion(xmlRoot,Nodes,1,true)  
set xmlDoc = Nothing
End Function

Function xmlRecursion(byval xmlNode,NodeNames,NodeIndex,isContinue)
If xmlNode.hasChildNodes Then
If  xmlNode.childNodes.item(0).nodeName = "#text" Then
xmlRecursion= xmlNode.childNodes.item(0).nodeValue
isContinue = false
End If              
End If                      
If xmlNode.hasChildNodes Then
For Each childNodeItem In xmlNode.ChildNodes
If  isContinue Then
If childNodeItem.hasChildNodes and childNodeItem.nodeName = NodeNames(NodeIndex) Then
xmlRecursion = xmlRecursion(childNodeItem,NodeNames,NodeIndex+1,isContinue)     
End If           
End If
Next
End If      
End Function

---------------------------------------------------------------------------------------------------

调用的时候直接写 GetXml(XML文件路径,节点路径)
如:msgbox GetXml("c:\test2.xml","根节点\子节点")

如果xml文件的内容是下面的内容的话,  msgbox GetXml("文件路径","ROOT\TestCase0\TestResult")  就会显示出 “3”,此函数不适取节点的属性。以后再完善吧,呵呵

------------------------------------------------------------------------
<?xml version="1.0" encoding="GB2312"?>

<ROOT>
<TestCase0>
<TestNumberOne>1</TestNumberOne>
<TestNumberTwo>2</TestNumberTwo>
<TestNumberThree>+</TestNumberThree>
<TestResult>3</TestResult>
</TestCase0>
<TestCase1>
<TestNumberOne>3</TestNumberOne>
<TestNumberTwo>2</TestNumberTwo>
<TestNumberThree>-</TestNumberThree>
<TestResult>1</TestResult>
</TestCase1>
<TestCase3>
<TestNumberOne>3</TestNumberOne>
<TestNumberTwo>7</TestNumberTwo>
<TestNumberThree>*</TestNumberThree>
<TestResult>21</TestResult>
</TestCase3>
<TestCase2>
<TestNumberOne>2</TestNumberOne>
<TestNumberTwo>5</TestNumberTwo>
<TestNumberThree>/</TestNumberThree>
<TestResult>0.4</TestResult>
</TestCase2>
</ROOT>
------------------------------------------------------------------------

posted on 2011-05-04 15:10 ryhan 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/ryhan/archive/2011/05/04/2036537.html

利用vbs读取XML中的某个指定子叶节点 (转)相关推荐

  1. java获取返回xml节点里的值,关于用java读取xml中节点的值解决方案

    关于用java读取xml中节点的值 在写个工程,用到了如下配置的XML文档,时间紧没法网上资料太多一时看了头大,实在不知道怎么解析了,各位大神麻烦指教一下. 配置文档内容如下 hibernate-co ...

  2. delphi读取xml中的内容property name传递参数_Python 进阶知识全篇-XML 解析

    什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 你可以通过本站学习 XML ...

  3. delphi读取xml中的内容property name传递参数_python3 Json和XML数据解析

    一.Json数据解析 Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数: json.dumps(): 对数据进行编码. json.loads(): 对数据进行 ...

  4. AndroidStudio中利用openFileOutput将数据保存在文件中,利用openFileInput读取文件中的数据

    一.要实现的功能 将输入框中的数据保存到指定文件名的文件中,实现数据的持久化:如果数据已经保存了,活动下次再启动的时候,就将保存在文件中的数据读取出来,显示在输入框中. 二.基本知识 利用活动生命周期 ...

  5. 利用js读取xml文件

    JS读取XML文件 XML文件: <?xml version="1.0" encoding="utf-8" ?> <CATALOG>&l ...

  6. python读取XML中bndbox和object name的方法

    直接贴代码了,封装为了函数,直接调用即可.其中有几个点需要注意. 1.bndbox下面有4个子对象,因此不能直接使用firstChild来找到内容,需要从该对象里面继续寻找标签为xmin等这样的对象, ...

  7. 利用XPath读取Xml文件

    之所以要引入XPath的概念,目的就是为了在匹配XML文档结构树时能够准确地找到某一个节点元素.可以把XPath比作文件管理路径:通过文件管理路 径,可以按照一定的规则查找到所需要的文件:同样,依据X ...

  8. 利用FME读取Word中的表格

    利用FME的MSWordStyler转换器和Word写模块,我们可以将一些简单的文本和表格写出到Word文档格式中,转换器和写模块截图如下: 图1 MSWordStyler转换器 图2 Word写模块 ...

  9. c#读取xml中特定节点的值(实例)

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 将要读取的是smoke下floortype中的value值,xml如下 <?xml version=&qu ...

  10. 利用python读取excel中的公司名称获取公司的经营范围并回填进excel中

    前几天朋友托我帮完成一份地区教育类型公司的经营范围,表中已经有了公司的名称及地点等信息,但是还缺少经营范围,由于数据量比较大,一个一个的去百度搜再复制到表里,工作量有点大,可能需要我好几天不吃不喝的C ...

最新文章

  1. 搜狗手机输入法php,在线调用搜狗云输入法
  2. ControllerDescriptor的认识
  3. BZOJ5329: [SDOI2018]战略游戏——题解
  4. CentOS 初体验二十一:redis常用命令:String
  5. angular 示例项目
  6. 计算机专业颈椎有问题,出现这4个表现,你的颈椎病已经很严重了!上班族尤需警惕_39健康网...
  7. java 两个线程同步_Java 多线程(二)—— 线程的同步
  8. DIV CSS在不同IE版本和FF以及Chrome中的兼容性差异解决方法(推荐)
  9. 【LeetCode】智商题 brainteaser(共3题)
  10. python中的怎么用,python中怎么用#号
  11. 不知道怎样计算权重?告诉你8种确定权重方法
  12. 论网站CDN的绕过姿势
  13. 第二章 软件项目确立
  14. H5页面调起地图导航
  15. Proteus仿真STM32F103R6输出正弦波
  16. 2016山东省第七届ACM省赛总结
  17. 为什么量子力学总是让人感到疑惑?
  18. 3D游戏建模真的很累吗?前景怎么样?又需要哪样的基础
  19. windows找不到文件,如何解决。
  20. ATC代表空中交通管制。空管调解员不过是机场可用的空中交通管制塔。在这里,您可以看到不同的航班(如101航班、202航班、707航班和808航班)。假设101航班要在机场的一个特定航站楼降落。然后飞行

热门文章

  1. Caffe学习3:Layer
  2. 缺失值了解与简单处理
  3. android.mk 编译选项,Android.mk中加入选项,编译生成可以直接安装的apk包
  4. 计算机课程联合考试是什么意思,计算机技术在职研究生能否通过一月联考的方式学习课程内容...
  5. C++ 引用 支持多级嵌套吗
  6. C++ std::condition_variable notify_one()与notify_all()的作用
  7. linux配置网页访问不了怎么办,本机浏览器访问不到Linux虚拟机中的nginx开启页面...
  8. python判断数字和字母切换_Python判断字符串是否为字母或者数字(浮点数)的多种方法...
  9. android灰度发布平台,移动APP灰度发布策略
  10. oracle的解析器,Oracle中sql量化分析工具