无法从 VBA 中的 XML 文件中获取数据? [英] Not able to get data from XML file in VBA?
本文介绍了无法从 VBA 中的 XML 文件中获取数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图从 XML 文件中获取数据,但无法获取.我不知道我在这里错过了什么.
I am trying to get data from XML file but can't get. I don't know what I am missing here.
XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<TestClass>
<TestObject>
<Site>Facebook</Site>
<Name>ABC</Name>
<URL>https://www.facebook.com/ABC/</URL>
</TestObject>
<TestObject>
<Site>Facebook</Site>
<Name>XYZ</Name>
<URL>https://www.facebook.com/XYZ/</URL>
</TestObject>
<TestObject>
<Site>Twitter</Site>
<Name>ABC</Name>
<URL>https://www.twitter.com/ABC/</URL>
</TestObject>
<TestObject>
<Site>Facebook</Site>
<Name>XYZ</Name>
<URL>https://www.twitter.com/XYZ/</URL>
</TestObject>
</TestClass>
代码:
Dim oXMLFile As Object
Dim XMLFileName As String
Dim Sites As Object
Dim Names As Object
Dim URLs As Object
Set oXMLFile = CreateObject("Microsoft.XMLDOM")
XMLFileName = "C:\Users\abc\Desktop\Files\Test.xml"
oXMLFile.Load (XMLFileName)
If oXMLFile.Load(XMLFileName) Then
' The document successfully to load.
Else
' The document failed to load.
End If
Sites = oXMLFile.SelectNodes("TestClass/TestObject/Site/text()")
Names = oXMLFile.SelectNodes("TestClass/TestObject/Name/text()")
URLs = oXMLFile.SelectNodes("TestClass/TestObject/URL/text()")
在上述情况下,Sites
、Names
和 URLs
一无所获.如果我在这里遗漏了什么,有人可以建议我吗?
In above case Sites
, Names
and URLs
gets nothing.
Can anybody suggest me if I am missing anything here?
推荐答案
由于 Sites
,Names
和 URLs
是 Object
,需要使用Set
关键字.
Since Sites
, Names
and URLs
are Object
, you need to use theSet
keyword.
Set Sites = oXMLFile.SelectNodes("TestClass/TestObject/Site/text()")
Set Names = oXMLFile.SelectNodes("TestClass/TestObject/Name/text()")
Set URLs = oXMLFile.SelectNodes("TestClass/TestObject/URL/text()")
我很惊讶您没有收到错误消息,但这可能是因为 Object
是特殊的.
I'm surprised you didn't get an error, but it may be because Object
are specials.
由于 SelectNodes
返回一个 IXMLDOMNodeList
,您可能希望将您的定义替换为:
Since SelectNodes
returns a IXMLDOMNodeList
, you might want to replace your definitions by:
Dim oXMLFile as DOMDocument
Dim Sites As IXMLDOMNodeList
Dim Names As IXMLDOMNodeList
Dim URLs As IXMLDOMNodeList
这篇关于无法从 VBA 中的 XML 文件中获取数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文