2009-11-02 3 views
3

Я хочу преобразовать HTML Dcument Javascript DOM в строку, которую я могу записать в файл. Но как вы выполняете преобразование строки HTMLDocument в xml ?!Преобразование HTMLDocument в печатную строку

Обновление Если возможно, я хотел бы увидеть html, который создается после применения любого динамического рендеринга javascript.

ответ

6

DOM-способ преобразования объекта HTMLDocument в XML является:

new XMLSerializer().serializeToString(oDocument); 

В Internet Explorer нет никакого способа, чтобы получить надлежащее XML-представление объекта документа HTML с помощью любых встроенных средств. Там вам нужно будет реализовать механизм сериализации самостоятельно - обход дерева DOM и создание XML-строки.

+0

Будет ли это работать в firefox? – Joel

+0

Да, это будет работать в каждом браузере, но IE –

+0

Будет ли отображаться отображаемый HTML? то есть то, что отображается после того, как браузер загрузил документ и применил любой динамический Javascript? – Joel

2
'<html>'+document.documentElement.innerHTML+'</html>' 
+0

Это короткий срок решение я использовал, я m надеясь на более полное решение, которое записывает html, который генерируется после загрузки документа и применяется любой динамический рендеринг javascript. Решение Сергея ниже выглядит многообещающим. – Joel

0

Вы можете создать новый узел Див, добавьте HTMLDocument как ребенок, а затем прочитать innerHTML родительского DIV, как показано ниже,

var div = document.createElement("div"); 
div.appendChild(oDocument); 

console.log(div.innerHTML); 
+0

Можете ли вы прокомментировать свой код? – Stephan

Смежные вопросы