Показать сообщение отдельно
Старый 28.06.2008, 15:07   #19  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
UTF-16 удалось победить примитивным способом.

Код:
 

ttext2:='<?my_tag?>';  //добавляемая строка

myFileFrom.OPEN('C:\1_16.xml'); //исходный хмл-файл 
myFileTo.CREATE('C:\123.xml');  //новый хмл-файл с новым тегом

iii:=0;
WHILE myFileFrom.POS<>myFileFrom.LEN DO BEGIN  //читаем исходный файл по символьно.
  iii+=1;
  myFileFrom.READ(ch); 
  myFileTo.WRITE(ch);   //и переписываем в новый.
  IF iii=116 THEN		  //пока не дойдем до нужного места (опять же определено эксперементально)
	FOR ttt:=1 to strlen(ttext2) DO BEGIN
	  myFileTo.WRITE(ttext2[ttt]);  //пишем новые символы из строки
	  myFileTo.WRITE(ch0);		   //к каждому символу добавляем символ ch0:=0; 
	END;
END;
myFileTo.CLOSE();
myFileFrom.CLOSE();
Естественно, также можно бороться и с utf-8, только ch0 добавлять не нужно.

PS. добавлять ноль нужно для латиницы, что добавлять для русских символов - не знаю, нужно смотреть.