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

Вниз

Установка кодировки в XML   Найти похожие ветки 

 
shek ©   (2004-05-11 20:28) [0]

Добрый вечер.Подскажите как установить вид кодировки в XML-файле.
При использовании метода IXMLDOMDocument.SetEncoding компилятор выдает ошибку "неизвестная функция".


 
shek ©   (2004-05-12 19:58) [1]

Может вопрос не в ту ветку?


 
Cobalt ©   (2004-05-12 21:44) [2]

А откуда ты взял такой метод SetEncoding?


 
Cobalt ©   (2004-05-13 00:16) [3]

Ага, понял, откуда.
Используй IXMLDocument (Правда, у меня Delphi 7)


 
NAlexey ©   (2004-05-13 09:02) [4]


procedure TForm1.Button1Click(Sender: TObject);

 procedure SetEncoding(Doc: Variant; const Value: String);

 const
   NODE_PROCESSING_INSTRUCTION = $00000007;

 var
   NewDeclaration: Variant;

   function IsPrologExists: boolean;
   begin
     Result :=   (Doc.ChildNodes.Length > 0) and
      (Doc.ChildNodes.Item(0).NodeType = NODE_PROCESSING_INSTRUCTION) and
      (Doc.ChildNodes.Item(0).NodeName = "xml");
   end;
 begin
   NewDeclaration := Doc.CreateProcessingInstruction("xml", Value);
   if IsPrologExists then
     Doc.ReplaceChild(NewDeclaration, Doc.ChildNodes.Item(0))
   else
     Doc.InsertBefore(NewDeclaration, Doc.ChildNodes.Item(0));
 end;

 function CreateXMLDocument: Variant;
 var
   RootNode, ProcInstr: Variant;
 begin
   Result := CreateOleObject("Msxml2.DOMDocument.4.0");
   Result.DocumentElement := Result.CreateElement("BYTE_MANAGEMENT_XMLROOTNODE");
   RootNode := Result.DocumentElement;
   ProcInstr := Result.CreateProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""");
   Result.InsertBefore(ProcInstr, RootNode);
 end;

var
 Doc: Variant;
begin
 Doc := CreateXMLDocument;
 Doc.Save("C:\ImHereUTF-8.xml");
 SetEncoding(Doc, "version=""1.0"" encoding=""UTF-16""");
 Doc.Save("C:\ImHereUTF-16.xml");
end;


 
11-ый Джа   (2004-05-13 11:06) [5]

я обычно делаю так:

сначала:
Doc.loadXML("<?xml version="1.0" encoding="UTF-8" ?>");

а дальше как обычно через apendchild...

P.S. может немного по-ламерски, жато работает...


 
shek ©   (2004-05-14 18:53) [6]

А что для XMLDOMDocument нельзя установить тип кодировки?
2 11-ый Джа:
Doc.loadXML("<?xml version="1.0" encoding="UTF-8" ?>"); не работает.



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

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

Наверх




Память: 0.48 MB
Время: 0.034 c
3-1084283390
MakNik
2004-05-11 17:49
2004.05.30
SQL-запрос


14-1084284336
Gero
2004-05-11 18:05
2004.05.30
Меню


6-1081767324
Сережа550
2004-04-12 14:55
2004.05.30
Текущий URL


1-1084640336
zep
2004-05-15 20:58
2004.05.30
MaskEdit и UpDown


3-1083260010
gu_est
2004-04-29 21:33
2004.05.30
Отчет в QReport на основе Select в DBGridEh