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

格雷戈里·大卫

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

案例1(含文字):

<Example>
   <size>512</size>
</Example>

情况2(无文字-自动关闭):

<Example>
   <size />
</Example>

我想在Excel VBA中阅读此标记文本。在情况1中,没问题,我执行以下操作:

Set oXMLFile = CreateObject("Microsoft.XMLDOM")
oXMLFile.Load ("File.xml")
size = oXMLFile.SelectSingleNode("/Example/size/text()").NodeValue

但是在情况2中,该SelectSingleNode函数返回此错误:

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

如何处理案例2,以便它返回一个空字符串?是否有内置的VBA功能来测试标签是否自动闭合?

煎蛋卷
Option Explicit

Sub Test()

    Dim oXMLFile As Object
    Dim oNode As Object
    Dim sSize As String

    Set oXMLFile = CreateObject("MSXML2.DOMDocument.6.0")
    oXMLFile.LoadXML "<Example><size>512</size></Example>"
    Set oNode = oXMLFile.SelectSingleNode("/Example/size/text()")
    If Not oNode Is Nothing Then sSize = oNode.NodeValue

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章