Hi,
hier mal ein kleines Beispiel, wie Du die komplette Verzeichnisstruktur einlesen kannst.
(Ist schnell hingetippt aber Ausbaufähig

)
procedure WEBDAV_GetContent
const
REQUEST_TEXT = '<?xml version="1.0" encoding="utf-8"?><D:propfind xmlns:D="DAV:"><D:allprop/></D:propfind>';
var
aServerFile : String;
xmlHttp : TServerXMLHTTP40;
intHTTPStatus : Integer;
begin
// ****
// **** Verzeichnis einlesen
// ****
xmlHttp := TServerXMLHTTP40.Create(nil);
xmlHttp.open('PROPFIND', 'https://mediacenter.gmx.net', True, 'Username', 'Kennwort');
xmlHttp.setRequestHeader('Depth', 'infinity');
xmlHttp.setRequestHeader('Content-Length', IntToStr(Length(REQUEST_TEXT)));
xmlHttp.setRequestHeader('Content-type', 'text/xml');
xmlHttp.setRequestHeader('Cache-Control', 'no-cache, max-age=0, Expires=-1, Buffer=True');
xmlHttp.setRequestHeader('pragma', 'no-cache');
try
intHTTPStatus := 1;
xmlHttp.send(REQUEST_TEXT);
while intHTTPStatus <> 4 do
begin
intHTTPStatus := xmlHttp.readyState;
Application.ProcessMessages
end;
except
on E: Exception do
begin
showmessage(e.Message);
end;
end;
showmessage(xmlHttp.responseText);
xmlHttp.Disconnect();
end;