Извлечение пустых дочерних узлов из корневого узла - PullRequest
0 голосов
/ 28 марта 2019

Я столкнулся с проблемой разбора файла xml из vba и сохранения в текст.Я пробовал много способов из MSDN, но не могу получить пустые узлы (то есть) узлы, которые являются нулевыми.Например, мой код игнорирует пустой узел, который мне нужен.Я знаю, что это ноль, но я хочу напечатать значение узла как ноль.

Я пытался использовать XMLDOM в Excel VBA, но не смог распечатать его в файл

Это мой XML-файл.

<Config>
	<Location>
		<Transmit>[0, 1000] s, precision: 10^-1 s</Transmit>
		<Time>[0, 1000] s, precision: 10^-1 s</Time>
	</Location>
	<Maximum_Speed>[0, 180] km.h^-1, precision: 10^-2 m.s^-1</Maximum_Speed>
	<Location2>
		<Time>[0, 1000] s, precision: 10^-1 s</Time>
		<Stop_Duration>[0, 1000] s, precision: 10^-1 s</Stop_Duration>
		<Authorized_Location/>
	</Location2>
</Config>

Вот мой код Excel VBA

Sub Retrive_data_from_xml()
Dim myFile As String
On Error Resume Next
myFile = "C:\Users\Subhra\Desktop\file.txt"
Open myFile For Output As #1
Dim xmlDoc As MSXML2.DOMDocument60
Set xmlDoc = New MSXML2.DOMDocument60
xmlDoc.validateOnParse = False
If xmlDoc.Load("C:\Users\Subhra\Desktop\config.xml") Then
   Display_Values_with_Variables xmlDoc.ChildNodes, 0
End If
Close #1
End Sub

Function Display_Values_with_Variables(ByRef Nodes As MSXML2.IXMLDOMNodeList, ByVal spaces As Integer)
   Dim xNode As MSXML2.IXMLDOMNode
   spaces = spaces + 1
   For Each xNode In Nodes
      If xNode.NodeType = NODE_TEXT Then
         Print #1, Space(spaces) & "/" & xNode.ParentNode.nodeName & ":" & xNode.NodeValue
    End If
      If xNode.HasChildNodes Then
            Print #1, xNode.ParentNode.nodeName
            Display_Values_with_Variables xNode.ChildNodes, spaces
      End If
   Next xNode
End Function

Я хочу, чтобы Authorized_Location печатался как Authorized_Location: Null , но код игнорируется"Authorized_Location".Я ссылаюсь на MSXML 6.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...