我正在编写一个小型的浏览器端Javascript,它从文件中解析XML并对其进行修改。理想情况下输出是一个.xml文件,但当然使JS客户端写文件几乎是不可能的,所以我放弃了。
我希望Firefox打开一个contentType text / xml的新窗口,其中包含我的序列化xml:
var xmlDoc = new XML(SourceXMLString); //SourceXMLString is read from an xml text file
output = window.open("");
output.document.open("text/plain");
output.document.write(xmlDoc.toXMLString());
output.document.close();
然而,任何document.write实例似乎都将contentType设置为text / html,因此所有标记都会自然地呈现错误。 From this fixed bug似乎document.open创建了正确的contentType,但document.write将其搞砸了。
答案 0 :(得分:2)
如果您只是尝试使用XML打开新标签页:
open("data:application/xml," + encodeURIComponent(xmlDoc.toXMLString()));
如果您希望用户能够下载 XML,请使用application / octet-stream而不是application / xml。