buenas @hackjose.
te tengo una pequeña crítica. ¿podrías explicar el por qué de dicha implementación? me explico. reinventar la rueda no es que sea negativo, porque en el proceso también se aprende. pero a lo que voy es que ya existe una forma nativa para obtener el mismo resultado que produce tu código. en el caso de html podríamos usar innerHTML. para xml también tenemos una propiedad similar,
textContent. (para ambos casos faltaría serializar el elemento actual.) al menos para mis gusto, prefiero usar métodos nativos frente a implementaciones, salvo algunas circunstancias. por ejemplo, si el navegador carece de implementación nativa o si se le agrega alguna funcionalidad adicional que no esta presente en la implementación nativa.