Я не уверен, что использование другого языка (поверх движка JavaScript) является опцией.Если это поможет, это будет способ XQuery (XQIB):
<script type="application/xquery">
serialize(b:dom()//div)
</script>
Например, на следующей странице сериализованный XHTML записывается в виде текста на странице вместотег script, после тега 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>
HTML DOM сопоставлен с моделью данных XQuery (модель данных поверх XML).b: dom () возвращает узел документа страницы, и // div перемещается ко всем тегам div потомков.Затем функция сериализации сериализует это в строку.
Однако это будет работать для IE9 + (не 6+) и последних версий Chrome, Firefox, Safari, Opera.