8

我正在寻找一种将 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,没有服务器端代码。

4

2 回答 2

5

我想我可能已经想通了。以下似乎工作得很好:

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;
}
于 2009-05-08T14:44:57.983 回答
2

也许您可以阅读 XmlHttpRequests 的 responseText 属性以在解析之前获得纯文本?

于 2009-05-08T14:47:52.487 回答