Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript为Firefox扩展创建XML文件的本地副本_Javascript_Stream_Firefox Addon_Copy - Fatal编程技术网

使用Javascript为Firefox扩展创建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

我正在编写一个Firefox扩展。现在我需要创建一个XML文件的本地副本,我几乎成功了。读取文件并创建新文件,但此文件为空。是否有一种用于XML文件的特殊方法,或者为什么它不起作用

以下是功能:

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");