0

メッセージを消費しており、メッセージは byte() 形式で保存されており、適切なエンコーディングで文字列に変換しようとしましたが、ファイルに書き込むときにユニコード文字が表示されます。ここで何が間違っているのですか

 xwriter = New XmlTextWriter(filename,Encoding.UTF8)
 Dim body As String = System.Text.Encoding.UTF8.GetChars(result.Body)
'body = replaceIllegalXMLChars(body)  ///tried converting them explicitly but did not work
 xwriter.WriteString(post)
 xwriter.Flush()

出力例:

   <avataruri>http://a0.twimg.com/profile_images/1651487744/Vman_normal.jpg
   </avataruri>
   <suitable>0</suitable>
4

1 に答える 1

1

あなたは悪用していますXmlTextWriter

XmlTextWriterテキストをエスケープしてタグ名を記述することにより、独自の XML を生成するのに役立ちます。
を呼び出すWriteString()と、渡したテキストが XML contentとして書き込まれ、特殊文字が正しくエスケープされます。

既存の XML の文字列があり、それをファイルに書き込みたい場合は、Fileクラスを使用して、他の文字列と同じように書き込む必要があります。

バイトをデコードする必要さえありません。ディスクに直接書き込むことができます。

于 2013-01-22T17:51:27.740 に答える