繁体   English   中英

HTML5 sessionStorage和XMLDocument

[英]HTML5 sessionStorage and XMLDocument

我想将XML文档存储在sessionStorage 当我这样做时,似乎可以将其另存为XMLDocument 当我尝试访问它(在页面刷新时)时,该对象以[object Object]而不是[object XMLDocument]

如何从sessionStorage获取数据作为XMLDocument (或将其转换为XMLDocument ?)

localStoragesessionStorage只能保存字符串。 看一下接口定义

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()进行解析。

您可能需要先序列化XMLDocument,然后再将其保存在存储器中:

var xml = new XMLSerializer().serializeToString(originalDom);
sessionStorage.setItem("myDocument", xml);

然后从存储加载数据后反序列化:

var xml = sessionStorage.getItem("myDocument");
var restoredDom = new DOMParser().parseFromString(xml, "text/xml");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM