Ajuste de XML/String - remover tag sem conteúdo - Java

Olá sou novo aqui no fórum, então se postei em lugar errado, já peço desculpas.

Bom estou começando agora com Java e preciso da ajuda de vocês que são mais experientes.

Eu tenho uma String com o conteúdo de um XML desta forma:

<tag1>
<tag2>
<tag3>aaaa </tag3>
<tag4>bbbb </tag4>
</tag2>
<tag2>
<tag3> </tag3>
<tag4>zzzz </tag4>
</tag2>
<tag2>
<tag3> </tag3>
<tag4> </tag4>
</tag2>
<tag2>
<tag3>yyyy </tag3>
<tag4> </tag4>
</tag2>
<tag1>

Preciso ajustar o XML, excluindo as TAGs sem conteúdo deixando como está abaixo:

<tag1>
<tag2>
<tag3>aaaa </tag3>
<tag4>bbbb </tag4>
</tag2>
<tag2>
<tag4>zzzz </tag4>
</tag2>
<tag2>
<tag3>yyyy </tag3>
</tag2>
<tag1>

Desde já agradeço a ajuda.
Alguma dica de como fazer isso?