PowerBuilder MSXML2.DOMDocument.4.0编码属性消失

时间:2015-09-17 13:39:35

标签: xml encoding domdocument powerbuilder

我有一个非常简单的PowerBuilder代码:

OLEObject lole_DOM
lole_DOM = CREATE OLEObject
lole_DOM.ConnectToNewObject("MSXML2.DOMDocument.4.0")
lole_DOM.LoadXML('<?xml version="1.0" encoding="UTF-8"?><root/>')
MessageBox("", String(lole_DOM.XML))
DESTROY lole_DOM

结果我得到了:

<?xml version="1.0"?>
<root/>

编码属性在哪里?不确定是谁,PowerBuilder或MSXML2.DOMDocument.4.0,有什么想法吗?

使用PowerBuilder版本11.5.1 Build 5097

1 个答案:

答案 0 :(得分:1)

这是设计的。正如documentation for the xml property

的“备注”部分所述
  

xml属性始终返回Unicode字符串。也就是说,xml的{​​{1}}属性将文档从其原始编码转换为Unicode。结果,删除了原始编码属性。例如,DOMDocument属性中显示<?xml version="1.0" encoding="UTF-8"?>,如下所示。

xml

相反,如果将文档保存到<?xml version="1.0"?> 的文件中,您将看到文件中的处理指令已完成,并且文件已相应编码。