如何在Excel VBA中读取XML自动关闭标记?

如何在Excel VBA中读取XML自动关闭标记?,excel,xml,vba,Excel,Xml,Vba,我有一个XML文件,其中包含一个标记,该标记可以有文本,也可以在没有文本时自动关闭 案例1(附文本): 但在案例2中,SelectSingleNode函数返回以下错误: 运行时错误“438”: 对象不支持此属性或方法 如何处理案例2,使其返回空字符串?是否有内置VBA函数来测试标记是否自动关闭?选项显式 子测试() 作为对象的Dim oXMLFile 作为对象的单极子 变暗为字符串 设置oXMLFile=CreateObject(“MSXML2.DOMDocument.6.0”) oXMLFil

我有一个XML文件,其中包含一个标记,该标记可以有文本,也可以在没有文本时自动关闭

案例1(附文本):

但在案例2中,
SelectSingleNode
函数返回以下错误:

运行时错误“438”:
对象不支持此属性或方法

如何处理案例2,使其返回空字符串?是否有内置VBA函数来测试标记是否自动关闭?

选项显式
子测试()
作为对象的Dim oXMLFile
作为对象的单极子
变暗为字符串
设置oXMLFile=CreateObject(“MSXML2.DOMDocument.6.0”)
oXMLFile.LoadXML“512”
设置oNode=oXMLFile.SelectSingleNode(“/Example/size/text()”)
如果Not oNode为Nothing,则sSize=oNode.NodeValue
端接头

也许可以使用xslt进行转换。哦,好吧,诀窍是将
SelectSingleNode
结果存储为
对象,这样它就可以
并且不会引发错误。非常感谢。
<Example>
   <size>512</size>
</Example>
<Example>
   <size />
</Example>