Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Read XML Attribute VBA

Tags:

dom

soap

xml

excel

vba

I am trying to get the attribute of a single node in VBA, but can't manage it using DOM

The XML looks like following:

<?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <soap:Body>
         <GetUserInfoResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/directory/">
            <GetUserInfoResult>
               <GetUserInfo>
                  <User ID="16" Name="" LoginName="login" Email="" Notes="" IsSiteAdmin="False" IsDomainGroup="False" />
            </GetUserInfo>
         </GetUserInfoResult>
      </GetUserInfoResponse>
   </soap:Body>
</soap:Envelope>

I am basically just trying to get the value of the ID attribute. Any help would be appreciated.

like image 848
Christoph Wolf Avatar asked Mar 14 '11 09:03

Christoph Wolf


1 Answers

Try:

(Include a reference to Microsoft XML v3, I saved your xml to a file on my desktop)

Dim xmlDoc As DOMDocument30
Set xmlDoc = New DOMDocument30
xmlDoc.Load ("C:\users\jon\desktop\test.xml")

Dim id As String
id = xmlDoc.SelectSingleNode("//GetUserInfo/User").Attributes.getNamedItem("ID").Text
like image 156
Jon Egerton Avatar answered Oct 05 '22 23:10

Jon Egerton