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