我必須編輯XSLT樣式表,但是由於XML輸入僅存在於一堆流中,所以我不知情。我可以調試到代碼中,但無法弄清楚如何將流的內容輸出到我可以查看的文本中(並且在我編輯它們時手動運行XSLT)。如何檢查Visual Studio 2003中的調試器中的XML流
該代碼是一個很大的舊式遺留系統的一部分,如果絕對必要,我可以在調試環境中修改它,但它運行在一個連接到一堆MSMQ的Windows服務中。因此,出於各種原因,我寧願能夠使用調試器查看XML,而無需先更改代碼。
代碼更簡單,是這樣的:(C# - 但請記住它的.Net 1.1 VS 2003)
這是獲取XML作爲數據流,然後將其送入某種功能的XSLT轉換對象。我試着在監視窗口和即時窗口中查看writer和xmlStream對象,但無法理解如何查看實際的XML。
private MemoryStream GetXml()
{
MemoryStream xmlStream;
xmlStream = new MemoryStream();
XmlWriter writer = new XmlTextWriter(xmlStream, Encoding.UTF8);
writer.WriteStartDocument();
//etc etc...
writer.WriteEndDocument();
writer.Flush();
xmlStream.Position = 0;
return xmlStream; //Goes off to XSLT transform thingy!
}
所有的幫助非常感謝。
對於任何從Google接收到此答案的人(如我所做的那樣),請記住,如果已經讀取了Stream指針,則可能需要將Stream指針重置爲開頭。這可以使用`xmlStream.Position = 0;`或`xmlStream.Seek(0,SeekOrigin.Begin);`完成。由於在執行此操作後,監視的表達式不會自動更新,因此我建議從立即窗口執行這兩個命令。 – 2013-05-09 13:09:09