2013-01-22 90 views
0

我正在使用消息並且消息以byte()格式存儲,我試圖用適當的編碼將其轉換爲字符串,但在將其寫入文件時仍看到unicode字符。我在做什麼錯在這裏將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> 

回答

1

你濫用XmlTextWriter

XmlTextWriter幫助您通過轉義文本和寫入標記名來生成自己的XML。
調用WriteString()會將您通過的文本寫爲XML 內容,正確轉義特殊字符。

如果你有一個現有的XML字符串,並且你想把它寫入一個文件,你應該使用類File類,就像其他任何字符串一樣編寫它。

你甚至不需要解碼字節;你可以直接寫入磁盤。

+0

哦,是的......我只是從舊代碼複製這個來創建XML文件,但我想我可以只使用一個Streamwriter或字符串生成器,並寫入一個文本文件,如果我正確理解你的權利? – vbNewbie

+0

我想創建一個xml文檔,並且該消息已經以xml格式格式化。 – vbNewbie

+0

謝謝...我是如此愚蠢 – vbNewbie