Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.08;
Скачать: CL | DM;

Вниз

transformNodeToObject и кодировка XML   Найти похожие ветки 

 
RWolf ©   (2011-02-02 16:44) [0]

Задача — получить отформатированный отступами файл 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 < ? ... ? >.


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

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

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


 
RWolf ©   (2011-02-02 17:36) [2]


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

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2011.05.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
2-1296743902
Женя
2011-02-03 17:38
2011.05.08
Таймер


1-1253718932
bodun
2009-09-23 19:15
2011.05.08
Шифрование строки методом XOR.Необходим оптимизированный алгоритм


2-1296806882
Alex_C
2011-02-04 11:08
2011.05.08
Как jpg показать на Canvas


15-1295515030
Knight
2011-01-20 12:17
2011.05.08
RAID1


15-1295617274
Knight
2011-01-21 16:41
2011.05.08
План счетов применительно к ИТ