3

我正在尝试使用此处概述的方法将我的 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 文件?

4

1 回答 1

1

您使用的方法仅在“从 JS XPCOM 组件(或 JS 模块)内部,新的 XMLSerializer() 不可用”时才需要。

您可以尝试使用:

var oSerializer = new XMLSerializer();
var sXML = oSerializer.serializeToString(doc);

首先将其序列化为字符串。

您可以在第 2 章找到更多信息。

于 2013-11-15T08:35:00.610 回答