我有一个非常简单的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
答案 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"?>
的文件中,您将看到文件中的处理指令已完成,并且文件已相应编码。