我需要将浏览器解析的 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?
谢谢。
最佳答案
我有一个 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 项目页面,单击右上角的工具图标,然后单击 Active Source 选项卡。将示例代码复制并粘贴到文本区域中,然后单击 Eval Source(响应将是节点名称)。在输入字段中键入 sSerial
并按回车键,或单击 Eval,您应该会看到复制的 HTML DOM 的序列化 XML。
关于html - 如何将浏览器 HTML DOM 序列化为 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3568017/