Главная страница
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.03 c
3-1084245341
Dmitriy Smirnoff
2004-05-11 07:15
2004.05.30
Rave Report in D7


1-1084879995
MegaVolt
2004-05-18 15:33
2004.05.30
Как оформить информацию получаемую из файлов с разными форматами?


3-1083847962
ПрогерШ
2004-05-06 16:52
2004.05.30
Как узнать всю информацию о поле?


14-1084533057
Push
2004-05-14 15:10
2004.05.30
Как создать свой Installer на DELPHI


14-1084441816
Vlad Oshin
2004-05-13 13:50
2004.05.30
Представьте... :)