我正在尝试使用概述here的方法将我的DOM序列化为XML文件。
然而,行
var oFOStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
导致错误
Error: Permission denied to access property 'classes'
在Mozilla Firefox 20.0上使用Firebug。我可能就是那个
mozilla.org/network/file-output-stream
是一个糟糕的链接。但是,当我尝试
时Components.utils.import("resource://gre/modules/FileUtils.jsm");
var oFOStream = new FileUtils.File(".");
我收到了消息
Error: Permission denied to access property 'utils'
和
resource://gre/modules/FileUtils.jsm
是合法链接。
有没有更好的方法将DOM(或最好是其中的子树)序列化为XML文件?
答案 0 :(得分:1)
当你在JS XPCOM组件(或JS模块)内部使用新的XMLSerializer()时,你使用的方法只是nescesarry。“
您可以尝试使用:
var oSerializer = new XMLSerializer();
var sXML = oSerializer.serializeToString(doc);
首先将其序列化为字符串。
您可以在第2章找到更多信息here。