nol*_*ker 2 delphi txmldocument
这在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;
Run Code Online (Sandbox Code Playgroud)
我仍然没有得到encoding="utf-8"?>生成的文档.但如果我说
XMLDoc.Encoding := 'utf-16';
Run Code Online (Sandbox Code Playgroud)
那么我确实得到encoding="utf-16"?>了最终的文档.
有任何想法吗?任何人?
当没有encoding属性或BOM表示正在使用不同的编码时,UTF-8是XML的默认编码.底层XML引擎知道这一点,因此encoding当它知道UTF-8安全时,它将省略为UTF-8 生成属性.
AFAIK,没有办法迫使IXMLDocument.XML.Text或IXMLDocument.SaveToXML(var XML: DOMString)或IXMLDocument.SaveToXML(var XML: WideString)以产生encoding对于UTF-8属性.然而,IXMLDocument.SaveToXML(var XML: UTF8String)和IXMLDocument.SaveToStream()不产生encodingUTF-8的属性.
| 归档时间: |
|
| 查看次数: |
7427 次 |
| 最近记录: |