我有一个xmlDoc,我正在使用以下代码动态创建和修改:
var fileReader = new FileReader();
var parser = new DOMParser();
fileReader.onloadend = function(){
var xmlData = fileReader.result;
xmlDoc = parser.parseFromString(xmlData,"text/xml");
};
稍后我将其输出到textarea:
var textArea = document.getElementById("resultTextArea");
var xmlText = new XMLSerializer().serializeToString(xmlDoc);
textArea.value = xmlText;
但是我想动态构建.xml
文件并将其作为超链接下载提供(右键单击并另存为)。这可能与HTML和Javascript(认为它可能不是由于安全隐患)?
PS。我正在尝试避免使用外部库(jQuery),但如果它是绝对必须,则可以使用。
答案 0 :(得分:0)
您可以通过在JavaScript中创建File
对象来构建XML文件:
var file = new File([xmlText], "filename.xml", {type: "application/xml"});
要为此文件提供链接,您可以从中创建Data URI
。
假设,变量myButton
将是<a>
元素,代码如下所示:
var reader = new FileReader();
reader.addEventListener("load", function () {
myButton.href = reader.result;
}, false);
reader.readAsDataURL(file);
参考文献: