Как прочитать закрывающий тег XML в Excel VBA? - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть 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 для проверки самозакрывающегося тега?

1 Ответ

0 голосов
/ 15 февраля 2019
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...