Я пытаюсь получить все записи из библиотеки документов в Sharepoint. Эта библиотека состоит из папок, подпапок и файлов. Я могу использовать MSXML2.XMLHTTP60 для доступа к библиотеке документов.
strRequest = "<?xml version='1.0' encoding='utf-8'?>" & _
"<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>" & _
" <soap:Body>" & _
" <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>" & _
" <listName>{FC3E18D6-33E5-4032-BE4B-F0F92F6F18BA}</listName>" + _
" <viewFields><ViewFields>" & _
" <FieldRef Name='ID'></FieldRef>" & _
" </ViewFields></viewFields>" & _
" </GetListItems>" & _
" </soap:Body>" & _
"</soap:Envelope>"
Set xmlHTTP = CreateObject("MSXML2.XMLHTTP")
xmlHTTP.Open "POST", strURL, False
xmlHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
xmlHTTP.setRequestHeader "SOAPAction", "http://schemas.microsoft.com/sharepoint/soap/GetListItems"
xmlHTTP.send strRequest
При этом будет получено все в корневой папке библиотеки документов (папки и файлы, но нет подпапок / подпапок). Как изменить или добавить этот код для извлечения всего, включая ВСЕ файлы из этой библиотеки документов, включая файлы в подпапках?
Получив список файлов, я поместил его в объект MSXML2.DOMDocument.3.0, чтобы выполнить итерацию и получить поля для каждого файла.