2

运行此命令时:

objDoc.SelectSingleNode ("//ProfileSettings/Form[@name='frmViewMailMessages']/Control[@name='subMailMessages']/Height")

objDoc 的 XML 为:

<ProfileSettings>
    <Form name="frmViewMailMessages">
        <Control name="subMailMessages">
            <Height>4175</Height>
        </Control>
        <Control name="subMailMessage">
            <Height>4500</Height>
            <Top>3975</Top>
        </Control>
    </Form>
</ProfileSettings>

objDoc.Text 返回一个包含所有附加值的字符串:

417545003975

我试图只从 frmViewMailMessages->subMailMessages->Height 接收值 4175

有任何想法吗?谢谢

4

1 回答 1

0

我想我知道为什么....您使用了错误的对象。objDoc您需要将其设置为 aNode然后检索值,而不是使用。类似下面的东西

Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.SetProperty "SelectionLanguage", "XPath"
xmlDoc.Async = False
xmlDoc.Load("C:\Users\Pankaj\Desktop\test.xml")

Set nodeXML = xmlDoc.SelectSingleNode("//ProfileSettings/Form[@name='frmViewMailMessages']/Control[@name='subMailMessages']/Height")
msgbox nodeXML.Text
于 2013-12-21T13:43:20.720 回答