我想知道我如何从所选文件的路径中使用相同的路径下载XML

时间:2018-05-07 14:17:10

标签: javascript html xml

我有一个Html表单,其中包含一个能够生成XML文件并将其下载到用户计算机的按钮。

这是我的XML.js文件,它写入所有xml信息,然后将文件下载到用户计算机。

function downloadData(contentType,data,filename){
  "use strict";
  var link=document.createElement("A");
  link.setAttribute("href",encodeURI("data:"+contentType+","+data));
  link.setAttribute("style","display:none");
  link.setAttribute("download",filename);
  document.body.appendChild(link); //needed for firefox
  console.log(link.outerHTML);
  link.click();
  setTimeout(function(){
  document.body.removeChild(link);
  },1000);
}

从表单

获取答案的函数
function fromToXml(form){
 "use strict";
 var xmldata=['<?xml version="1.0" encoding="UTF-8"?>'];
 var inputs=form.elements;
 xmldata.push("<AssetInfo>");

 // file name*****************************

 for(var i=0;i<inputs.length;i++){ 

    if(inputs[i].value){ 

        xmldata.push("  <customMetaData>");

        xmldata.push("     <key>"+inputs[i].placeholder+"</key>");

        xmldata.push("     <value>"+inputs[i].value+"</value>");

      xmldata.push("  </customMetaData>");
   }
 }
 xmldata.push("</AssetInfo>");
 return xmldata.join("\n");

 }


function download(frm){
"use strict";
 var data=fromToXml(frm);
 console.log(data);

 // file name

downloadData("text/xml",data,"hello.xml");
}

HTML按钮调用XML.js中的功能

<button class="button" type="button" onclick="download(this.form)" 
id="input">GerarXML</button>

HTML按钮,要求用户选择文件

 <input type="file" id="fileinput" nwdirectory  multiple />

1 个答案:

答案 0 :(得分:0)

需要php中的后端服务,该服务先读取文件名,然后将其存储在变量中,并在生成xml时调用相同的变量。