动态创建XML超链接下载链接

时间:2016-12-21 08:55:39

标签: javascript xml

我有一个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),但如果它是绝对必须,则可以使用

1 个答案:

答案 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);

参考文献: