Devo modificare un foglio di stile XSLT, ma sto volando cieco perché l'input XML esiste solo fugacemente in un gruppo di stream. Posso eseguire il debug nel codice, ma non riesco a capire come ottenere il contenuto dei flussi in un testo che posso guardare (e scorrere XSLT manualmente mentre li sto modificando).Come ispezionare stream XML dal debugger in Visual Studio 2003
Il codice fa parte di un grande vecchio sistema legacy, è possibile modificarlo in un ambiente di debug se assolutamente necessario, ma viene eseguito in un servizio Windows collegato a un gruppo di MSMQ. Quindi per vari motivi preferirei poter usare il debugger per vedere l'XML senza dover prima modificare il codice.
codice molto semplificata, è qualcosa di simile: (C# - ma ricordatevi che è .net 1.1 in VS 2003)
Questa è la funzione che ottiene l'XML come un flusso, che viene poi immessa in una sorta di oggetto trasformazione XSLT. Ho provato a guardare gli oggetti writer e xmlStream nelle finestre di controllo e nella finestra immediata, ma non riesco a capire come vedere l'effettivo 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!
}
Tutti gli aiuti molto apprezzati.
Per chiunque incontri questa risposta da Google (come ho fatto io), tieni presente che potrebbe essere necessario reimpostare il puntatore Stream all'inizio se è già stato letto da. Questo può essere fatto usando 'xmlStream.Position = 0;' o 'xmlStream.Seek (0, SeekOrigin.Begin);'. Poiché l'espressione guardata non si aggiorna automaticamente dopo averlo fatto, ti consiglio di eseguire entrambi i comandi dalla Finestra Immediata. –