4

有一个xml文件

<DataSource>
     <localdata>
        <add context="Localization">
           <parameter name="timeout" type="int" defaultvalue="60"/>
           <parameter name="address" type="string" defaultvalue="192.168.9.45" />
           <parameter name="port" type="int" defaultvalue="6789"/>
        </add>
       <add context="General">
           <parameter name="timeout" type="int" defaultvalue="60"/>
           <parameter name="address" type="string" defaultvalue="192.168.9.478" />
           <parameter name="port" type="int" defaultvalue="5674"/>
        </add>
    </localdata>
   </DataSource>

我需要获取属性context="General"使用 vbscript的元素

我可以用这个语句得到顶部节点

Set xmlDoc = CreateObject("Msxml2.DOMDocument")
xmlDoc.load("DataConfiguration.xml")
Set queryNode = xmlDocument.selectSingleNode(".//localdata")

但不确定如何扩展它。

任何帮助表示赞赏。

提前致谢。

4

1 回答 1

7

要获取任何节点,您可以使用此

Set queryNode = xmlDocument.selectSingleNode(".//node()[@context = 'General']")

或者,专门针对add节点

Set queryNode = xmlDocument.selectSingleNode(".//add[@context = 'General']")

这是使用 XPath,这可能需要您设置 DomDocument 的选择命名空间属性

xmlDocument.setProperty "SelectionLanguage", "XPath"

您可能想要搜索 XPath 教程,例如w3schools - New Link

于 2010-12-06T20:38:10.410 回答