静观其变

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

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.

posted on 2005-02-24 23:23  wangyue  阅读(1209)  评论(0)    收藏  举报