Главная страница
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.006 c
15-1296128732
usrg
2011-01-27 14:45
2011.05.08
Microsoft Visual Studio 2010


2-1296050681
ZV
2011-01-26 17:04
2011.05.08
Преобразование Byte в Word?


1-1253459003
kiki
2009-09-20 19:03
2011.05.08
Top Most


11-1232633546
Dy1
2009-01-22 17:12
2011.05.08
проблема с ConsoleApp


15-1295518833
UserNet
2011-01-20 13:20
2011.05.08
Объеденить сети