我想将 XML 文档存储在sessionStorage
. 当我这样做时,它似乎可以保存为XMLDocument
. 当我尝试访问它(在页面刷新时)时,对象会返回,[object Object]
而不是[object XMLDocument]
.
如何将数据sessionStorage
作为一个XMLDocument
(或将其转换为一个?)
我想将 XML 文档存储在sessionStorage
. 当我这样做时,它似乎可以保存为XMLDocument
. 当我尝试访问它(在页面刷新时)时,对象会返回,[object Object]
而不是[object XMLDocument]
.
如何将数据sessionStorage
作为一个XMLDocument
(或将其转换为一个?)
您可能希望在将 XMLDocument 保存到存储之前对其进行序列化:
var xml = new XMLSerializer().serializeToString(originalDom);
sessionStorage.setItem("myDocument", xml);
然后在从存储中加载数据后反序列化:
var xml = sessionStorage.getItem("myDocument");
var restoredDom = new DOMParser().parseFromString(xml, "text/xml");
localStorage
并且sessionStorage
只能拉弦。看一下接口定义:
interface Storage {
readonly attribute unsigned long length;
[IndexGetter] DOMString key(in unsigned long index);
[NameGetter] DOMString getItem(in DOMString key);
[NameSetter] void setItem(in DOMString key, in DOMString data);
[NameDeleter] void removeItem(in DOMString key);
void clear();
};
除非您对它们进行序列化,否则您无法存储对象。因此,在您的情况下,您必须将其序列化为 XML。
如果您以文本形式接收 XML 文档,则直接存储它。您可以jQuery.parseXML()
在检索后使用它来解析它。