Походу, в TXMLDocument используется какая-то "старая" имплементация парсера. Новый парсер от МС все читает нормально. Так что тут всего 2 варианта:
1. Мы знаем, на чем он "ломается" - там линия из дефисов, она ему и не нравится. Так что перед загрузкой просто меняем ее на что-нить другое. Если эта линия так важна, то при сохранении меняем обратно. Т.е. читаем файл как текст, меняем линию на что-нить другое, потом создает TStringStream и читаем xml из него; при сохранении делаем все в обратном порядке - xml сохраняем в TStringStream, потом в полученной строке меняем нашу закладку обратно на линию дефисов и уже полученный результат сохрняем в файл.
2. Ищем более подходящий парсер - менее разборчивый. Ну или пользуемся микрософтовским, только самым последним, без дельфиной обертки.
|