php выполняется на сервере, js браузере. Так что вопрос не корректен. Я так понимаю у Вас идет ajax запрос, на который сервер возвращает что-то + js, который не работает. Верно?
Никак, javascript выполняемый в браузере не имеет доступа к содержимому файлов.
Вам нужно делать запрос к бэкенду (который выполняется непосредственно на веб-сервере, и имеет доступ к файловой системе), тогда бэкенд может прочитать список файлов, их содержимое, сформировать xml и вернуть.
На чем писать бэкенд - на php, на javascript (nodejs) или еще чем-то - не важно.
var url = 'https://other-domain.com/receive.php'; // другой домен
...
xhr.open('POST', url, true); // но может вам и GET хватит
...
echo $_POST['site'];
file_put_contents('my.txt', json_encode($_REQUEST));