Non sono sicuro se si utilizza un'altra lingua (sulla parte superiore del motore JavaScript) è un opzione. Se questo è di alcun aiuto, questo sarebbe il XQuery (XQIB) modo di farlo:
<script type="application/xquery">
serialize(b:dom()//div)
</script>
Ad esempio, nella pagina seguente, l'XHTML serializzato viene scritto come testo sulla pagina invece del tag script , dopo il tag div:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Serializing part of the DOM</title>
<meta charset="UTF-8"/>
<script type="text/javascript" src="mxqueryjs/mxqueryjs.nocache.js"></script>
</head>
<body>
<div>
<hr>
<img src="/foo.png">
</div>
<script type="application/xquery">
serialize(b:dom()//div)
</script>
</body>
</html>
il DOM HTML è mappato al modello di dati XQuery (un modello di dati in cima XML). b: dom() restituisce il nodo del documento della pagina e // div si sposta su tutti i tag div discendenti. La funzione serializza quindi la serializza su una stringa.
Tuttavia, questo funzionerà per IE9 + (non 6+) e versioni recenti di Chrome, Firefox, Safari, Opera.
fonte
2011-09-28 08:11:40
Quale compatibilità browser desideri? [Funziona in Firefox e Chrome per me] (https://developer.mozilla.org/en/XMLSerializer). Però non so di IE. Ho trovato qualcosa che usano un wrapper come 'if (! Window.XMLSerializer) {window.XMLSerializer = function() {}; window.XMLSerializer.prototype.serializeToString = function (XMLObject) {return XMLObject.xml || ''; };} ', anche se non so per quale browser è (Mac -> no IE per testare). –
** Demo live: ** http://jsfiddle.net/qUwXE/ (ma non funziona in Chrome e Safari) –
@ ŠimeVidas: Grazie ... in realtà l'ho usato su un documento XML analizzato, dove ha funzionato anche in Chrome. Peccato che non funzioni con l'HTML. –