在vbscript中选择具有属性名称的单个节点

fir*_*and 4 xml vbscript selectsinglenode

有一个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>
Run Code Online (Sandbox Code Playgroud)

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

我可以用这个语句获得顶级节点

Set xmlDoc = CreateObject("Msxml2.DOMDocument")
xmlDoc.load("DataConfiguration.xml")
Set queryNode = xmlDocument.selectSingleNode(".//localdata")
Run Code Online (Sandbox Code Playgroud)

但不知道如何扩展这一点.

任何帮助表示赞赏.

提前致谢.

小智 7

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

Set queryNode = xmlDocument.selectSingleNode(".//node()[@context = 'General']")
Run Code Online (Sandbox Code Playgroud)

或者,特别是对于add节点

Set queryNode = xmlDocument.selectSingleNode(".//add[@context = 'General']")
Run Code Online (Sandbox Code Playgroud)

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

xmlDocument.setProperty "SelectionLanguage", "XPath"
Run Code Online (Sandbox Code Playgroud)

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