通过迭代从XML中提取数据
我有一个XML字符串,其中包含需要写入日志表的数据 XML如下所示:通过迭代从XML中提取数据,xml,ms-access,vba,Xml,Ms Access,Vba,我有一个XML字符串,其中包含需要写入日志表的数据 XML如下所示: <?xml version="1.0" encoding="UTF-8"?> <response success="true"> <messages> <message key="warning-unmapped-item">Message 1</message> <message key="warning-unmapped-org">
<?xml version="1.0" encoding="UTF-8"?>
<response success="true">
<messages>
<message key="warning-unmapped-item">Message 1</message>
<message key="warning-unmapped-org">Message 2</message>
</messages>
我可以使用上面的语法获得前两条消息,但我更愿意遍历这些消息,而不是直接引用它们,因为我不知道会有多少条消息。还有,我需要钥匙和文字。有更好的方法吗?您已经非常接近了,只需添加几点
Dim Variables As IXMLDOMNodeList
Dim variable As IXMLDOMNode
Dim log As MSXML2.DOMDocument
Set log = New MSXML2.DOMDocument
log.loadXML (message)
Set Variables = log.selectNodes("//messages")
For Each variable In Variables
Debug.Print variable.selectNodes("message").Item(0).Text
Debug.Print variable.selectNodes("message").Item(1).Text
Next
For i = 0 To ndMessages.Length - 1
Debug.Print ndMessages(i).Text & " key:" & ndMessages(i).getAttribute( "key" )
Next i