2

コンポーネントがVB6で作成されている古いレガシーシステムがあります。1つのメソッドは、xmlデータである文字列を返します。xmlデータはmsxml3.dllMSXML2.DOMDocumentで作成され、次のプロパティを持つドキュメントのデータを返します:http://msdn.microsoft.com/en-us/library/ms755989(v=VS.85 )xml .aspx

ただし、xmldocumentの一部のデータはデータベースからのものであり、1つのフィールドはハッシュ化されたパスワード文字列です。要素のデータを設定するコード:

            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

これにより、不正な/整形されていないxmlが得られます。

<ROWS><ROW><COL>r<í</COL></ROW></ROWS>

これに対する回避策はありますか?

4

1 に答える 1

0

Unicode 文字をエスケープする必要があります。または、それらをCDATAタグに入れます(これはあまり良い解決策ではありません)ところで、 < > と & も同様にエスケープする必要があります。

于 2012-04-04T13:04:24.027 に答える