作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- 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
函数返回此错误:
Run-time error '438':
Object doesn't support this property or method
如何处理案例 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
关于excel - 如何在 Excel VBA 中读取 XML 自关闭标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54706150/
我是一名优秀的程序员,十分优秀!