Я столкнулся с проблемой разбора файла 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