使用Javascript为Firefox扩展创建XML文件的本地副本
我正在编写一个Firefox扩展。现在我需要创建一个XML文件的本地副本,我几乎成功了。读取文件并创建新文件,但此文件为空。是否有一种用于XML文件的特殊方法,或者为什么它不起作用 以下是功能:使用Javascript为Firefox扩展创建XML文件的本地副本,javascript,stream,firefox-addon,copy,Javascript,Stream,Firefox Addon,Copy,我正在编写一个Firefox扩展。现在我需要创建一个XML文件的本地副本,我几乎成功了。读取文件并创建新文件,但此文件为空。是否有一种用于XML文件的特殊方法,或者为什么它不起作用 以下是功能: function loadXMLDoc(dname) { if (window.XMLHttpRequest) { xhttp = new XMLHttpRequest(); } else { xhttp = new ActiveXObject("Micr
function loadXMLDoc(dname) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET", dname, false);
xhttp.send("");
return xhttp.responseXML;
}
及
第二个函数的开头只是声明,仅当被调用的网站具有与扩展首选项中定义的url相同的url时,才创建本地副本。这部分工作得很好。nsIOutputStream.write()的第一个参数必须是一个字符串,而不是一个XML文档。您可以使用将XML转换为文本并将其直接写入流:
new XMLSerializer().serializeToStream(xml, stream, "utf-8");
new XMLSerializer().serializeToStream(xml, stream, "utf-8");