Читать атрибут XML VBA
Я пытаюсь получить атрибут одного узла в VBA, но не могу управлять им с помощью DOM
XML выглядит следующим образом:
<?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>
Я просто пытаюсь получить значение атрибута ID. Любая помощь будет оценена.
2 ответа
Решение
Пытаться:
(Включите ссылку на Microsoft XML v3, я сохранил ваш xml в файл на рабочем столе)
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
Я попытался использовать похожий код для загрузки и извлечения атрибутов из предоставленного веб-сервисом XML-файла. Оказывается, что если вы не установите для свойства xDoc.async значение false, xDoc.Load() немедленно вернется, а затем весь ваш код будет потрачен впустую.