?-6ren"> ?-这在 Delphi XE2 中对我不起作用。 Var XMLDoc : IXMLDOCUMENT; begin XMLDoc := NewXMLDocument; XMLDoc.Activ-6ren">
gpt4 book ai didi

delphi - 如何在 txmldocument.xml 中获取 encoding = "utf-8"?>?

转载 作者:行者123 更新时间:2023-12-03 18:18:57 25 4
gpt4 key购买 nike

这在 Delphi XE2 中对我不起作用。

Var
XMLDoc : IXMLDOCUMENT;
begin
XMLDoc := NewXMLDocument;
XMLDoc.Active := True;
XMLDoc.Version := '1.0';
XMLDoc.Encoding := 'utf-8';
XMLDoc.Options := [doNodeAutoIndent];
Memo1.Text := XMLDoc.XML.Text;

我仍然没有在生成的文档中得到 encoding="utf-8"?>。但是如果我说

  XMLDoc.Encoding := 'utf-16';

然后我在生成的文档中得到 encoding="utf-16"?>

有什么想法吗?有人吗?

最佳答案

当没有 encoding 时,UTF-8 是 XML 的默认编码存在属性或 BOM 以指示正在使用不同的编码。底层 XML 引擎知道这一点,因此它会忽略生成 encoding。 UTF-8 的属性,当它知道这样做是安全的。

AFAIK,没有办法强制IXMLDocument.XML.TextIXMLDocument.SaveToXML(var XML: DOMString)IXMLDocument.SaveToXML(var XML: WideString)生成 encoding UTF-8 的属性。然而,IXMLDocument.SaveToXML(var XML: UTF8String)IXMLDocument.SaveToStream()生成 encoding UTF-8 的属性。

关于delphi - 如何在 txmldocument.xml 中获取 encoding = "utf-8"?>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com