我正在寻找一种将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,无服务器端代码。
答案 0 :(得分:4)
我想我可能已经弄明白了。以下似乎工作得很好:
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;
}
答案 1 :(得分:2)
也许你可以在解析之前读取XmlHttpRequests的responseText属性以获得纯文本吗?