我需要将浏览器解析的HTML DOM序列化为格式良好的XML。
在firefox(gecko)中,这有效:
// serialize body to well-format XML.
var xml = new XMLSerializer().serializeToString(document.body);
但是在webkit中,结果等同于document.body.outerHTML,而不是格式良好的XML(例如:<br> won't become <br />
)
如何在webkit中将浏览器HTML DOM序列化为XML?
感谢。
答案 0 :(得分:0)
我有一个setInnerXHTML
方法(不是Facebook版本)应该适用于此。该方法包含在基本框架文件hemi.js
中,可从Hemi Project Page获得。它也包含在我较旧的libXmlRequest
库中。
示例:
var oXml = Hemi.xml.newXmlDocument("Xhtml");
Hemi.xml.setInnerXHTML(oXml.documentElement, document.documentElement, oXml);
var sSerial = Hemi.xml.serialize(oXml);
如果要在特定浏览器上进行测试,请导航至Hemi Project Page,单击右上角的工具图标,然后单击 Active Source 选项卡。将示例代码复制并粘贴到textarea中,然后单击 Eval Source (响应将是节点名称)。在输入字段中键入sSerial
并按Enter键,或单击 Eval ,您应该看到复制的HTML DOM的序列化XML。