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="David" LoginName="login" Email="" Notes="" IsSiteAdmin="False" IsDomainGroup="False" />
<User ID="17" Name="Gal" LoginName="login" Email="" Notes="" IsSiteAdmin="False" IsDomainGroup="False" />
<User ID="18" Name="Netzer" LoginName="login" Email="" Notes="" IsSiteAdmin="False" IsDomainGroup="False" />
<User ID="3" Name="More" LoginName="login" Email="" Notes="" IsSiteAdmin="False" IsDomainGroup="False" />
<User ID="20" Name="Alon" LoginName="login" Email="" Notes="" IsSiteAdmin="False" IsDomainGroup="False" />
<User ID="21" Name="Dan" LoginName="login" Email="" Notes="" IsSiteAdmin="False" IsDomainGroup="False" />
<User ID="708" Name="Yaron" 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.
this is same question as in the following link: Read XML Attribute VBA with small change ! as you can see in XML file there is more then one USER so the following answer doesn't fit,
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
how can i know the name of user that his ID is "21"?
really be glad if someone can help me
This worked for me: