Текущий архив: 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.45 MB
Время: 0.032 c