Nous avons un ancien système hérité où un composant est écrit en VB6. Une méthode renvoie une chaîne qui est des données XML. Les données xml est créé avec msxml3.dll MSXML2.DOMDocument et renvoie les données du document avec la propriété xml
: http://msdn.microsoft.com/en-us/library/ms755989(v=VS.85).aspxMSXML2.DOMDocument.xml me donne malformé xml
Toutefois, certaines données du XmlDocument est de la base de données et un champ est une chaîne de mot de passe haché. Le code qui fixe les données pour l'élément:
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
Cela me donne malformé/xml non wellformed:
<ROWS><ROW><COL>r<í</COL></ROW></ROWS>
est-il une solution pour cela?
Curieux. Je ne reçois pas le même comportement en utilisant 'MSXML2.DOMDocument.3.0' via IE' ActiveXObject'. – bobince
Peut-être que c'est parce qu'il est en VB6 et qu'il ne peut pas gérer unicode correctement? –
VB6 possède [un support incomplet pour Unicode] (http://www.i18nwithvb.com/chapters/Chapter06_fr.htm) mais cela ne devrait pas poser de problème. Les chaînes VB6 sont Unicode en interne et lorsque vous appelez MSXML2 via COM, la chaîne reste en Unicode. Que se passe-t-il si vous essayez de définir 'cellNode.Text' sur d'autres chaînes contenant' <'mais pas de caractères accentués (coller aux caractères ASCII 32-127)? Y a-t-il d'autres propriétés de cellNode que vous pourriez essayer? – MarkJ