如何强制在javascript中下载xml文件?

时间:2019-04-20 16:43:13

标签: javascript xml file

给出有关如何为数据创建XML格式(Convert JavaScript object (array) to XML)的解决方案

我现在需要一种使它自动下载到.xml文件中的方法,这是我的代码:

toXml = (data) => {
    return data.reduce((result, el) => {
        if (el.title && el.author)
            return result + `<BookData><title>${el.title}</title><author>${el.author}</author></BookData>\n`
        if (el.title && !el.author)
            return result + `<BookData><title>${el.title}</title></BookData>\n`
        if (!el.title && el.author)
            return result + `<BookData><author>${el.author}</author></BookData>\n`
    }, '')
}

if (type == 2)
{
    let data = this.toXml(arrayData);
    console.log(data);
}

我在哪里传递数据以创建XML?

我应该代替console.log(data);编写什么代码,以便获得下载的.xml文件?

编辑:在回答 How to create and download an XML file on the fly using javascript?

1 个答案:

答案 0 :(得分:0)

迟到总比不到好。此代码使用javascript下载XML文件:

 var pseudoelement = document.createElement("a");

  var filename = "example.xml";
  var pseudoelement = document.createElement("a");
  var blob = new Blob([toXml ], { type: "text/plain" });

  pseudoelement.setAttribute("href", window.URL.createObjectURL(blob));
  pseudoelement.setAttribute("download", filename);

  pseudoelement.dataset.downloadurl = ["text/plain", pseudoelement.download, pseudoelement.href].join(":");
  pseudoelement.draggable = true;
  pseudoelement.classList.add("dragout");

  pseudoelement.click();

thank_for_this