为WebBrowser控件增加显示XML文档接口(c#)

这里介绍一个小技巧来使WebBrowser Control能够很好的展示一个XML文件。需要准备的材料有:
a. 样式化文件defaultss.xslt, 这个是IE浏览器默认用于转换XML到XHTML的文件。
b.一个测试工程,需要加入一个WebBrowser Control对象到工程。

我们按下面步骤来完成这个实验:
1. 将defaultss.xslt添加到测试工程中
2. 在属性中设置defaultss.xslt的Build Action = Embedded Resource.
3. 扩展一个类名为WebBrowserEx类从WebBrowser

ContractedBlock.gif ExpandedBlockStart.gif Code
class WebBrowserEx : WebBrowser

4. 从资源中加载defaultss.xslt到WebBrowser
ContractedBlock.gif ExpandedBlockStart.gif Code
Assembly asmb = System.Reflection.Assembly.GetExecutingAssembly();
Stream s 
= asmb.GetManifestResourceStream( asmb.GetName().Name + "." + m_xsltFile);
XmlReader xr 
= XmlReader.Create(s);
5. 最后通过XslCompiledTransform的Transform方法来转换XML到XHTML

下面是完整的代码
ContractedBlock.gif ExpandedBlockStart.gif Code
class WebBrowserEx : WebBrowser
{
    
private string m_xsltFile = "defaultss.xslt";
    
public XmlDocument DocumentXml
    {
        
set
        {
            Assembly asmb 
= System.Reflection.Assembly.GetExecutingAssembly();
            Stream s 
= asmb.GetManifestResourceStream( asmb.GetName().Name + "." + m_xsltFile);
            XmlReader xr 
= XmlReader.Create(s);
            XslCompiledTransform xct 
= new XslCompiledTransform();
            xct.Load(xr);

            StringBuilder sb 
= new StringBuilder();
            XmlWriter xw 
= XmlWriter.Create(sb);
            xct.Transform(value, xw);

            
this.DocumentText = sb.ToString();
        }
     }

    
public string XmlStyleTranferFile
    {
        
set { m_xsltFile = value; }
    }
 }
 
defaultss.xslt下载
声明:这个文件是从网上找来的,不保证文件版权的合法性,请不要在商业软件中使用它。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值