.NET转换xslt中有document方法的XML文档的问题

为了方便测试转换结果,自己写了个小程序来用xslt转换xml文档,xslt文档中用到document方法引用外部xml文档。

  1. 执行转换时报“禁止执行document()函数”。

    解决:
    //第一个参数代表启用对document()支持,第二个参数代表是否支持script
    XsltSettings settings = new XsltSettings(true, false);
    reader = new System.Xml.XmlTextReader(xml);
    //转换时传入settings参数
    transform.Load(xslt, settings, null);
  2. 在执行转换又报错“XSLT编译错误”,调试下发现其实是报的“禁止解析外部URI”。
    解决:
    //注意第三个参数,不加的话同样无法支持document()
    transform.Load(xslt, settings, new XmlUrlResolver());
    //最后调用转换函数也得加。
    transform.Transform(reader, null, write, new XmlUrlResolver());

 

阅读更多
个人分类: XML技术 C#
想对作者说点什么? 我来说一句

基于XSLTXML文档转换技术

2008年12月18日 110KB 下载

XSLT标准参考手册

2009年03月23日 68KB 下载

XMU《XML》实验任务书 XSLT

2014年01月12日 85KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭