Как загрузить содержимое XML-файла с помощью Javascript?

Я ищу способ загрузить содержимое XML-файла непосредственно в переменную Javascript. Скажем, у меня есть следующая структура каталогов:

/index.html
/loader.js
/file.xml

на index.html, есть <body> тег, содержимое которого должно быть заменено содержимым XML-файла. Поэтому, если XML-файл содержит:

<element>
    <item>Item One</item>
    <item>Item Two</item>
</element>

затем после динамической нагрузки HTML будет:

...
<body>
<element>
...
</element>
</body>
...

мой вопрос в том, какую функцию я могу использовать в loader.js для загрузки содержимого прямо в переменную? Я использовал XmlHttpRequests и синтаксический анализатор ActiveX XMLDOM, но все это просто дает мне структурную модель данных, которую я должен отсортировать, чтобы найти мои элементы. Мне не нужно ничего анализировать, я просто хочу получить все содержимое файла.

Примечание: только HTML / Javascript, без кода на стороне сервера.

2 ответов


Мне кажется, я догадался. Следующий, кажется, работает довольно хорошо:

function loadFileToElement(filename, elementId)
{
    var xmlHTTP = new XMLHttpRequest();
    try
    {
    xmlHTTP.open("GET", filename, false);
    xmlHTTP.send(null);
    }
    catch (e) {
        window.alert("Unable to load the requested file.");
        return;
    }

    document.getElementById(elementId).innerHTML=xmlHTTP.responseText;
}

возможно, вы можете прочитать свойство responseText XmlHttpRequests, чтобы иметь простой текст перед синтаксическим анализом?