I can't recall the specific details, but I certainly remember the pain. Apart from the inevitable and unnecessary translation from XML to a JavaScript object. I seem to recall there were weird cases where the XML format produced a different structure for cases where directories contained a single file.
In the short term I found capturing the output of "ls -al urlpath" was vastly easier to deal with.
In the longer term I wrote a server https://github.com/Lerc/userserv It might be worth me revisiting userserv to switch to the SpockFS protocol. Currently I use a websocket backchannel to do anything more complicated than static serving.
Unrelated: Have you ever looked into the 9P protocol? I'd wonder if one can tunnel that through http, too.
Regarding 9P, SpockFS is a fork of the 9spock project (unfortunately my company still did not released the sources, albeit the github repository is opened), and personally i think 9p is the currently best protocol available for sharing filesystems. Unfortunately the linux client is a bit weak as it does not manage disconnections/reconnections (once you lose the connection with the server you have to remount it)