2011-05-30 77 views
2

如何在調試時看到完全填充的XmlWriter對象的XML內容。我的silverlight應用程序不允許實際寫入文件並檢查內容。調查XMLWriter對象

+0

您可以將XML寫入「MemoryStream」,例如從那裏讀回到一個字符串(使用'StreamReader.ReadToEnd()') – 2011-05-30 21:13:23

回答

0

例如,您可以基於MemoryStream創建XmlWriter,然後取消對內存流中的字節進行編碼並將其顯示在文本框中。

MemoryStream ms = new MemoryStream(); 
XmlWriterSettings ws = new XmlWriterSettings(); 
ws.Encoding = Encoding.UTF8; 
XmlWriter w = XmlWriter.Create(ms, ws); 
// populate the writer 
w.Flush(); 
textBox1.Text = Encoding.UTF8.GetString(ms.GetBuffer(), 0, (int)ms.Position); 
+0

工作表示感謝。不是UTF8的默認編碼? – Xia 2011-05-31 05:12:31

+0

在Silverlight中,是的,但在不同的平臺上沒有定義,所以我寧願明確。 – carlosfigueira 2011-05-31 15:19:52

0

XmlReader未被「填充」。它表示正在進行操作的XML解析操作的狀態。這個狀態將隨着XML的讀取而改變。