【发布时间】:2020-11-18 00:29:04
【问题描述】:
所以我试图读取节点并将它们的字段写入 Excel 工作簿,但是我在索引我想要的特定字段时遇到了麻烦。 XML 结构如下:
<root>
<data name="Admin" xml:space="preserve">
<value>Administrador</value>
</data>
</root>
现在的问题是我在节点内获取文本没有问题,但我也想在数据名称后面的“”内获取文本。 VB代码如下:
Dim XDoc As Object
Dim myNodes As IXMLDOMNodeList, myChildNodes As IXMLDOMNodeList
Dim myElement As IXMLDOMElement
Dim myNode As IXMLDOMNode, myChildNode As IXMLDOMNode
Dim nNode As Integer
Dim nChildNode As Integer
Set XDoc = CreateObject("MSXML2.DOMDocument")
XDoc.async = False: XDoc.validateOnParse = False
XDoc.load (vFileName)
Set myNodes = XDoc.SelectNodes("//data/value")
If myNodes.Length > 0 Then
For nNode = 0 To myNodes.Length - 1
Set myNode = myNodes(nNode)
Set myChildNodes = myNode.ChildNodes ' Get the children of the first node.
For nChildNode = 0 To myChildNodes.Length - 1
vNode = myChildNodes(nChildNode).Text
vRange2 = "A" + Trim(Str(vLineTAG))
Range(vRange2).Value = vNode
Next nChildNode
Next nNode
Else
'Stuff and all
End If
所以这里我引用的是“value”,vNode在上面的节点中获取Administrador字符串,但是当我只引用数据时,它返回一个空字符串,接收它的范围是blanc,下一个子节点按预期返回值节点内的内容。不知道我在这里错过了什么......
【问题讨论】:
标签: excel xml vba xml-parsing