关闭

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

标签: xslt文档xml.netnull测试
630人阅读 评论(0) 收藏 举报
分类:

为了方便测试转换结果,自己写了个小程序来用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());

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15780次
    • 积分:245
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:6篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档