Как сериализовать браузер HTML DOM в XML? - PullRequest
2 голосов
/ 25 августа 2010

Мне нужно сериализовать HTML DOM, анализируемый браузером, для правильного форматирования XML.

В Firefox (геккон) это работает:

// serialize body to well-format XML.
var xml = new XMLSerializer().serializeToString(document.body);

Но в webkit результат эквивалентен document.body.outerHTML, а не в формате XML (например: <br> won't become <br />)

Как сериализовать браузерную HTML DOM в XML в webkit?

Спасибо.

1 Ответ

0 голосов
/ 25 августа 2010

У меня есть метод setInnerXHTML (не версия Facebook), который должен работать для этого. Этот метод включен в базовый файл инфраструктуры hemi.js, доступный на странице проекта Hemi . Он также включен в мою старую библиотеку 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 , и вы увидите сериализованный XML скопированного HTML DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...