2
我們有一箇舊的遺留系統,其中一個組件在VB6中寫入。一種方法返回一個字符串,它是xml數據。 XML數據與MSXML3.DLL MSXML2.DOMDocument創建和財產xml
返回文檔中的數據:http://msdn.microsoft.com/en-us/library/ms755989(v=VS.85).aspxMSXML2.DOMDocument.xml給我格式錯誤的xml
然而,XmlDocument的一些數據是從數據庫中一個字段是一個散列密碼字符串。設置該數據爲元素的代碼:
Set cellNode = rowNode.appendChild(xml.createElement("COL"))
If IsNull(rs(oField.name).Value) Then
cellNode.Text = ""
Else
cellNode.Text = rs(oField.name).Value
End If
這讓我異常/非簡潔(wellformed)XML:
<ROWS><ROW><COL>r<í</COL></ROW></ROWS>
是否有解決方法嗎?
好奇。我沒有通過IE'ActiveXObject'使用'MSXML2.DOMDocument.3.0'獲得相同的行爲。 – bobince 2010-11-09 16:36:01
也許是因爲它在VB6中,它不能正確處理Unicode? – 2010-11-09 16:49:57
VB6 [對Unicode的支持不完全](http://www.i18nwithvb.com/chapters/Chapter06_en.htm),但它不應該有任何問題。 VB6字符串在內部是Unicode,當您通過COM調用MSXML2時,字符串將保持Unicode。如果您嘗試將'cellNode.Text'設置爲包含'<'但沒有重音字符的其他字符串(遵循ASCII 32-127中的字符),會發生什麼?您可以嘗試使用cellNode的其他屬性嗎? – MarkJ 2010-11-10 12:34:44