Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

Установка кодировки в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.037 c
1-1084633198
Ivolg
2004-05-15 18:59
2004.05.30
Memo


14-1083752201
Vlad Oshin
2004-05-05 14:16
2004.05.30
Логические задачи в среду :)


6-1081340404
NorthMan
2004-04-07 16:20
2004.05.30
Такой вопрос. Почему иногда функция Socket.ReceiveText возвращает


6-1081649543
NND
2004-04-11 06:12
2004.05.30
-= Пишем ЧАТ, господа =-


6-1081802587
Spirit Monster
2004-04-13 00:43
2004.05.30
cookies





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский