Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

transformNodeToObject и кодировка XML


RWolf ©   (2011-02-02 16:44:00) 

Задача — получить отформатированный отступами файл XML в нужной кодировке. Кодировка должна быть прописана в заголовке XML.
Решаю следующим образом:


procedure SaveIndentedXML(doc:IXMLDOMDocument2);
const
 xslText=
'<xsl:stylesheet xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" version="1.0">'#13#10+
'  <xsl:output method="xml" indent="yes"/>'#13#10+
'  <xsl:template match="@* | node()">'#13#10+
'    <xsl:copy>'#13#10+
'      <xsl:apply-templates select="@* | node()"/>'#13#10+
'   </xsl:copy>'#13#10+
'  </xsl:template>'#13#10+
'</xsl:stylesheet>';
var
 xsl,res:IXMLDOMDocument2;
begin
 xsl:=CoDOMDocument30.Create;
 xsl.async:=False;
 xsl.loadXML(xslText);

 res:=CoDOMDocument30.Create;
 res.async:=False;
 res.validateOnParse:=True;

 doc.transformNodeToObject(xsl,res);
 res.save('res.xml');
end;


Если применить transformNodeToObject к XML-документу, то получаем результат в кодировке UTF-16; можно ли заставить его сохраняться в другой кодировке?
Манипуляции с копированием XML в текстовую строку с последущей конвертацией и обратным присвоением не подходят, т.к. портят processing instructions < ? ... ? >.


RWolf   (2011-02-02 17:36:00) [1]


> Медвежонок ХМЛ ©   (02.02.11 17:24) [1]

Спасибо.


Медвежонок ХМЛ   (2011-02-02 17:24:00) [2]

<xsl:output .....  encoding="UTF-8" ....../>

http://www.w3schools.com/xsl/el_output.asp


Наверх

Титульная страница Поиск, карта сайта Написать письмо