十二 252008
 

也许您会说这样写就可以啦.

webBrowser.DocumentText = xmlDoc.OuterXml;

其实这样是错的,这样不会显示XML的结构。

本来以为可以设置webBrowser.DocumentType=”text/xml”;

无奈,WebBrowser.DocumentType是只读类型的。

查了一下资料,原来是要用System.Xml.XslCompiledTransform去格式化一下

Ok, lets’ do it.

Example Code:
     string xml=xmlDoc.OuterXml;//xmlDoc是XmlDocument类型
     XslCompiledTransform xslt = new XslCompiledTransform();
     xslt.Load("xml-pretty-print.xsl");
     TextReader tr = new StringReader(xml);
     XPathDocument xpath = new XPathDocument(tr);
     TextWriter tw = new StringWriter();
     XmlWriter xwriter = XmlWriter.Create(tw);
     xslt.Transform(xpath, xwriter);
     xmlBrowser.DocumentText = tw.ToString();//xmlBrowser是一个WebBrowser控件

参考了一下文章:

http://www.cnblogs.com/skyfei/archive/2008/04/18/1160302.html

http://www.cnblogs.com/cstded/archive/2008/01/16/1041368.html (非常详细,推荐)

http://www.biglist.com/lists/xsl-list/archives/200003/msg00769.html

其中第二篇博文提到的defualtss.xsl俺木有获取到。就用了第三篇文章的xml-pretty-print.xsl内容是一样的:)

下载:xml-pretty-print

preview

  2 Responses to “如何.Net中使用WebBrowser 显示XML”

  1. 达达是个好孩子
    加油!

  2. @axting:您终于现身啦?

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>