में डीबगर से एक्सएमएल धाराओं का निरीक्षण कैसे करें मुझे एक्सएसएलटी स्टाइलशीट को संपादित करना होगा, लेकिन मैं अंधे उड़ रहा हूं क्योंकि एक्सएमएल इनपुट केवल धाराओं के समूह में तेजी से मौजूद है। मैं कोड में डीबग कर सकता हूं, लेकिन यह पता नहीं लगा सकता कि धाराओं की सामग्री को पाठ में कैसे प्राप्त किया जा सकता है, जिसे मैं देख सकता हूं (और जब मैं उन्हें संपादित कर रहा हूं तो XSLT मैन्युअल रूप से चलाएं)।विजुअल स्टूडियो 2003
कोड एक बड़ी पुरानी विरासत प्रणाली का हिस्सा है, मैं इसे पूरी तरह से आवश्यक होने पर डीबग पर्यावरण में संशोधित कर सकता हूं, लेकिन यह एमएसएमक्यू के समूह से जुड़ी एक विंडोज सेवा में चलता है। तो विभिन्न कारणों से मैं पहले कोड को बदलने के बिना एक्सएमएल देखने के लिए डीबगर का उपयोग करने में सक्षम हूं।
कोड बहुत सरल, कुछ इस तरह है: (सी # - लेकिन यह .net 1.1 वी.एस. 2003 में है याद)
इस समारोह है कि एक धारा है, जो तब किसी प्रकार में खिलाया जाता है के रूप में एक्सएमएल हो जाता है एक्सएसएलटी ट्रांसफॉर्म ऑब्जेक्ट का। मैंने घड़ी खिड़कियों और तत्काल खिड़की में लेखक और एक्सएमएलस्ट्रीम ऑब्जेक्ट्स को देखने की कोशिश की है, लेकिन वास्तविक एक्सएमएल को देखने के लिए काफी समझ नहीं सकते हैं।
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 से इस उत्तर में आने वाले किसी भी व्यक्ति के लिए (जैसे मैंने किया), कृपया यह भी ध्यान रखें कि आपको स्ट्रीम पॉइंटर को शुरुआत में रीसेट करने की आवश्यकता हो सकती है यदि इसे पहले ही पढ़ा जा चुका है। यह 'xmlStream.Position = 0;' या 'xmlStream.Seek (0, SeekOrigin.Begin) का उपयोग करके किया जा सकता है;'। चूंकि देखा गया अभिव्यक्ति स्वचालित रूप से ऐसा करने के बाद अपडेट नहीं होती है, इसलिए मैं तत्काल विंडो से दोनों आदेशों को निष्पादित करने की अनुशंसा करता हूं। –