Display XML in AxSHDocVw.AxWebBrowser

In my recent blog, ** AxShDocVw, SHDocVw, mshtml References ** , I showed how to set up a VS.NET project to use the AxSHDocVw.AxWebBrowser control.

I was recently asked how to display formatted XML in this control. Here's just one way. I'm sure you can find ways to improve upon it.

private void DisplayXml (  
     AxSHDocVw.AxWebBrowser browser,  
     XmlDocument document)  
 {  
   // generate a unique file name  
     string filnam = Environment.GetFolderPath(  
         Environment.SpecialFolder.InternetCache)  
         + "\\" + document.GetHashCode().ToString();  
   
   ~~// clean up just incase~~  
   if (File.Exists(filnam))  
     File.Delete(filnam);  
   
   ~~// write wsdl to a temporary file~~  
   StreamWriter file = File.CreateText(filnam);  
   
   string text = document.OuterXml.Replace("utf-16","utf-8");  
   
   file.Write(text);  
   file.Close();  
   file = null;  
   
   ~~// navigate to the temporary file~~  
   object refmissing = System.Reflection.Missing.Value;  
   browser.Navigate(filnam, ref refmissing,  
         ref refmissing, ref refmissing, ref refmissing);  
 }

This can be used when the control has not yet been initialized and does not yet have a body or DOM.

Published At
Categories with Web编程
Tagged with
comments powered by Disqus