Вы ищете другой вид парсера. Парсер "at-all-cost" сможет делать то, что вы хотите. Если вы получаете XML из разных источников, это идеально.
Если у вас есть несколько источников, вы можете обойти их проблемы. Например, если единственная проблема, которую вы получаете, это то, что вам сказали, что это был UTF-8, когда выясняется, что это ISO-8859-1, вы могли бы пройти через него один раз, выяснить, что это не удается из-за проблем с символами, конвертировать XML от ISO-8859-1 до UTF-8 и попробуйте снова. Поскольку вы знаете, где была ошибка, вы можете попытаться исправить ее. Хотя идти по этому пути довольно дорого.