Как загрузить содержимое XML-файла, используя Javascript? - PullRequest
6 голосов
/ 08 мая 2009

Я ищу способ загрузить содержимое файла 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 ]

4 голосов
/ 08 мая 2009

Думаю, я понял это. Следующее, кажется, работает очень хорошо:

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;
}
2 голосов
/ 08 мая 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...