Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript加载XML文件内容?_Javascript_Html_Xml_Xmlhttprequest - Fatal编程技术网

如何使用Javascript加载XML文件内容?

如何使用Javascript加载XML文件内容?,javascript,html,xml,xmlhttprequest,Javascript,Html,Xml,Xmlhttprequest,我正在寻找一种将XML文件的内容直接加载到Javascript变量中的方法。假设我有以下目录结构: /index.html /loader.js /file.xml 在index.html中,有一个标记,其内容应替换为XML文件的内容。因此,如果XML文件包含: <element> <item>Item One</item> <item>Item Two</item> </element> 项目一 项目

我正在寻找一种将XML文件的内容直接加载到Javascript变量中的方法。假设我有以下目录结构:

/index.html
/loader.js
/file.xml
index.html
中,有一个
标记,其内容应替换为XML文件的内容。因此,如果XML文件包含:

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

项目一
项目二
动态加载后,HTML将为:

...
<body>
<element>
...
</element>
</body>
...
。。。
...
...
我的问题是,我可以在
loader.js
中使用什么函数将内容直接加载到变量中?我使用过XmlHttpRequests和ActiveX XMLDOM解析器,但都只是给了我一个结构数据模型,然后我必须对其进行排序以找到我的元素。我不需要解析任何东西,我只想获得所有的文件内容


注意:仅HTML/Javascript,没有服务器端代码。

我想我可能已经找到了答案。以下几点似乎效果不错:

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;
}

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

这可能与纯旧JavaScript有关,您是否使用了任何框架?(在某人说“使用jQuery”…)之前,你可能想考虑异步运行这个。同步AJAX请求可以锁定浏览器的UI,给用户留下浏览器挂起的印象。但这将从客户端运行,而不是在服务器上运行,因此我们不太担心性能。图片双击桌面上的HTML文件。当我这样做时,会出现CORS异常