<!DOCTYPE html>
<body>
<script type="text/xml" id="xml-source">
<?xml version="1.0" encoding="UTF-8"?>
<root>
<example id="1">
<div class="test" xmlns="http://www.w3.org/1999/xhtml">
<div></div>
</div>
</example>
<example id="2">
<div class="test" xmlns="http://www.w3.org/1999/xhtml">
<div><a href="#">Это должно быть ссылкой</a></div>
</div>
</example>
<example id="2">
<div class="test" xmlns="http://www.w3.org/1999/xhtml">
<div></div>
</div>
</example>
</root>
</script>
<script>
(function(){
var xmlSource = document.getElementById('xml-source').textContent.trim();
var xmlDocument = new DOMParser().parseFromString(xmlSource, 'text/xml');
var exampleNode = xmlDocument.getElementsByTagName('example')[1];
document.body.appendChild(document.importNode(exampleNode.firstElementChild, true));
})()
</script>
</body>
Не будет работать в IE8 (там нет DOMParser'а и importNode, хотя может можно обойтись и без импорта)
Если xml'ка подтягивается через XMLHttpRequest, то DOMParser не нужен, так как XMLHttpRequest сам парсит документ.
Если html-нодам не указать пространство имен, то они будут реализовывать интерфейс HTMLUnknownElement, то есть "неизвестный элемент"