Converta espaços entre tags PRE, via analisador DOM

Regex foi minha idéia original como solução, embora logo se tornasse aparente que um analisador DOM seria mais apropriado ... Gostaria de converter espaços em  entre as tags PRE dentro de uma sequência de texto HTML. Por exemplo

<table atrr="zxzx"><tr>
<td>adfa a   adfadfaf></td><td><br /> dfa  dfa</td>
</tr></table>
<pre class="abc" id="abc">
abc 123
<span class="abc">abc 123</span>
</pre>
<pre>123 123</pre>

into (observe que o espaço no atributo da tag span é preservado):

<table atrr="zxzx"><tr>
<td>adfa a   adfadfaf></td><td><br /> dfa  dfa</td>
</tr></table>
<pre class="abc" id="abc">
abc&nbsp;123
<span class="abc">abc&nbsp;123</span>
</pre>
<pre>123 123</pre>

O resultado precisa ser serializado novamente no formato de string, para uso em outros lugare

questionAnswers(2)

yourAnswerToTheQuestion