如何将浏览器HTML DOM序列化为XML?

如何将浏览器HTML DOM序列化为XML?,html,xml,dom,serialization,Html,Xml,Dom,Serialization,我需要将浏览器解析的HTMLDOM序列化为格式良好的XML 在firefox(gecko)中,这样做可以: // serialize body to well-format XML. var xml = new XMLSerializer().serializeToString(document.body); 但在webkit中,结果相当于document.body.outerHTML,XML格式不好(例如:不会变成) 如何在webkit中将浏览器HTML DOM序列化为XML 谢谢。我有一个

我需要将浏览器解析的HTMLDOM序列化为格式良好的XML

在firefox(gecko)中,这样做可以:

// serialize body to well-format XML.
var xml = new XMLSerializer().serializeToString(document.body);
但在webkit中,结果相当于document.body.outerHTML,XML格式不好(例如:

不会变成

如何在webkit中将浏览器HTML DOM序列化为XML


谢谢。

我有一个
setInnerXHTML
方法(不是Facebook版本),应该可以解决这个问题。该方法包含在基本框架文件中,
hemi.js
,可从。它也包含在我以前的
libXmlRequest
库中

例如:

var oXml = Hemi.xml.newXmlDocument("Xhtml");
Hemi.xml.setInnerXHTML(oXml.documentElement, document.documentElement, oXml);
var sSerial = Hemi.xml.serialize(oXml);
如果要在特定浏览器上测试此功能,请导航到“Hemi项目”页面,单击右上角的工具图标,然后单击“活动源”选项卡。将示例代码复制并粘贴到textarea中,然后单击Eval Source(响应将是节点名)。在输入字段中键入
sSerial
,然后按enter键,或者单击Eval,您将看到复制的HTML DOM的序列化XML