XslLoadException:禁止解析外部 URI

2023-12-10

我有 xslt 工作表,其中包含另一个 xslt 文件的标签,所有文件编译正确且无错误,但运行以下代码时出现异常

var myXslTrans = new XslCompiledTransform();
XsltSettings sets = new XsltSettings();
sets.EnableScript = true;
myXslTrans.Load("visio.xsl",sets,null);
myXslTrans.Transform("page1.xml", "page.html");

遵循异常文本和堆栈跟踪:

System.Xml.Xsl.XslLoadException: 
  XSLT compile error. An error occurred \bin\Debug\visio.xsl(116,40). 
  ---> System.Xml.XmlException: Resolving of external URIs was prohibited.
    at System.Xml.Xsl.Xslt.XsltLoader.Load(XmlReader reader)
       at System.Xml.Xsl.Xslt.XsltLoader.Load(Compiler compiler, Object stylesheet, XmlResolver xmlResolver)
       at System.Xml.Xsl.Xslt.Compiler.Compile(Object stylesheet, XmlResolver xmlResolver, QilExpression& qil)
       at System.Xml.Xsl.XslCompiledTransform.LoadInternal(Object stylesheet, XsltSettings settings, XmlResolver stylesheetResolver)
       at System.Xml.Xsl.XslCompiledTransform.Load(String stylesheetUri, XsltSettings settings, XmlResolver stylesheetResolver)

我尝试通过以下方式解决问题this但问题仍然存在


评论/更新问题的引用:

我将文件复制到项目中以使用它,路径变量用于获取应用程序的基目录

是的,但是没有使用path变量,所以没有效果。

System.Xml.Xsl.XslLoadException:XSLT 编译错误。 \bin\Debug\visio.xsl(116,40) 发生错误。 ---> System.Xml.XmlException:禁止解析外部 URI。

这可能意味着以下一项或多项:

  • 您的设置不允许加载外部文档(这是默认设置XslCompiledTransform,请参阅文档)。
  • 您的样式表直接包含 URI(通过xsl:import, xsl:include, document())或间接(通过 DTD 或解析外部​​实体)。
  • 如果上述情况不(完全)正确,那么至少错误准确地指出了问题所在。您没有在问题中复制此内容,但您会在 (116, 40) 找到它。

要解决,只需允许加载外部文档:

替换这个:

XsltSettings sets = new XsltSettings();
sets.EnableScript = true;

有了这个:

XsltSettings sets = new XsltSettings(true, true);

更新(在您发表评论后)

我注意到另一件事。您将最后一个参数设置为null, which 根据微软的说法应该给你一个ArgumentNullException。它不允许为空,但显然微软现在允许它,但它的效果是UriResolver无法解决任何问题,因为嘿,它是空的......

不太确定为什么将其设置为 null,但尝试将其设置为有效值,即:

var resolver = new XmlUrlResolver();
myXslTrans.Load("visio.xsl", sets, resolver);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XslLoadException:禁止解析外部 URI 的相关文章

  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 具有 java XSLT 扩展的数组

    我正在尝试使用 java 在 XSLT 扩展中使用数组 我收到以下错误 Caused by java lang ClassCastException org apache xpath objects XObject cannot be ca
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 在 Delphi 中使用 XML(将特定数据返回到变量)

    过去几天我一直在尝试使用 Delphi 2010 和 MSXML 我是一个极端的新手 需要一点指导 var MemoryStream TMemoryStream XMLPath String sName String XMLDoc vari
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • jQuery:移动设备的键盘事件

    我在 iPhone 上触发 keyup 事件时遇到一些问题 我的代码如下 var passwordArray word test hello another here var test document getElementById ent
  • VBA 循环遍历用户窗体中的文本框控件

    我已经浏览了许多有关循环用户窗体控件的帖子 但似乎无法调整我找到的代码来满足我的需要 并且需要一些帮助 我想弄清楚的场景 我的用户表单上有 44 个文本框 其名称均以 ch 开头 例如 chTextBox1 当用户窗体激活时 我需要循环所有
  • 数据更改后重新加载 JTable 的 Object[][]

    我想知道是否可以刷新表的 GUIObject 用于最初填充它的内容已更改 Object calculationsTableData public Interface analysisPanel add calculationsTable J
  • 在mysql数据库中存储瑞典语字符

    我在 MySQL 数据库中存储瑞典语字符时遇到问题 我想将它们存储在我的表中users使用 utf8 bin 排序规则 即使我使用 utf8 字符 存储为 我不知道为什么 检索数据并回显给我相同的输出 但带有奇怪的字符而不是 任何帮助表示赞
  • 如何将 Bitmap 对象从一个活动传递到另一个活动

    在我的活动中 我创建了一个Bitmap对象 然后我需要启动另一个对象Activity 我怎样才能通过这个Bitmap来自子活动 即将启动的活动 的对象 Bitmap实施Parcelable 所以你总是可以带着意图传递它 Intent int
  • 如何在 sns clustermap 中标记集群

    我正在使用以下代码创建聚类图 import numpy as np import pandas as pd import seaborn as sns all net names early vis face motion scene sc
  • 使用 xlwt for excel 在 python 中预格式化为货币和两位小数

    我有一个列标题Fee Using xlwt in python 我成功生成了所需的Excel 创建Excel文件时此列始终为空 是否有可能拥有Fee列预格式化为 货币 和 两位小数 这样当我在Fee下载后Excel文件的列 23应该变成 2
  • 非托管资源和 Dispose()

    我正在读一些关于Dispose 方法并发现非托管资源应该显式释放Dispose 方法 或 Finalize 方法 文章称文件句柄和数据库连接对象是非托管资源的示例 谁能解释为什么这些是非托管的以及如果在 Dispose 中处理不当会发生什么
  • 使用 UIActivityViewController 共享视频时,视频未附加到邮件中

    我正在使用下面的代码来共享位于设备上的视频 它非常适合通过消息 facebook 和 iCloud 共享 但不适用于邮件 我可以看到邮件选项在那里 但在邮件草稿中 视频不存在随附的 在代码中 videoAsset is a PHAsset类
  • Delphi 字节逆序

    我一直在尝试编写一个函数 它接受两个指针 一个输入和一个输出 并以相反的顺序将输入中的字节写入输出 到目前为止我还没能让它正常工作 procedure ReverseBytes Source Dest Pointer Size Intege
  • 请求已被阻止;内容必须通过 HTTPS 提供

    我正在后端使用 Spring Security 和 Spring MVC 以及前端使用 Angular 进行应用程序 我的问题是我正确登录 但注销时的问题我在本地主机中正确实现 http localhost 8080工作没有问题 当我将其更
  • Azure Function 在应用程序服务计划中调用自身两次

    我的 azure 函数中有以下代码 手动超时为 10 分钟 using System Net public static async Task
  • 在阻塞 webRequest 处理程序中使用异步调用

    Summary 我正在使用一个browser webRequest onBeforeRequest处理程序 我需要阻止 webRequest 直到从处理程序中调用异步方法返回信息为止 我怎样才能做到这一点 细节 首先 我对这个长问题表示歉意
  • 如何编写一段java代码,让一个实例只发生一次?

    我正在写一个应用程序 在该应用程序中 我有一个实例 我只想在第一次打开应用程序时发生 我想知道如何用 Java 编写一些东西 只让该实例第一次发生 比如注册码之类的 持久存储 创建一个单例 Blackberry 开发论坛有一个出色的单例方法
  • C# 可排序集合,允许重复键

    我正在编写一个程序来设置各种对象在报告中出现的顺序 该序列是 Excel 电子表格上的 Y 位置 单元格 代码的演示部分如下 我想要完成的是拥有一个集合 这将允许我添加多个对象 并且我可以根据顺序获得排序的集合 SortedList lis
  • AJAX 从文件中读取

    我正在使用 AJAX 读取文本文件 如何只读取第一行 此代码应该可以帮助您从远程文本文件中读取 var txtFile new XMLHttpRequest txtFile open GET http my remote url myrem
  • 如何在使用 Ruby on Rails 3 的播种过程中避免验证、回调和“attr_accessible”效应?

    我正在使用 Ruby on Rails 3 并尝试在我的应用程序数据库中播种数据 在 RAILS ROOT models user rb 中 我有 class User lt ActiveRecord Base attr accessibl
  • 在启用 https 的情况下运行 gwt?

    我当前正在运行一个没有安全性的 GWT 站点 但需要切换到 HTTPS 工作的非安全版本使用以下参数运行 port 8888 startupUrl ui index jsp com example EntryPoint 我读过 简单地添加
  • 串口写行文本框错误

    我使用虚拟 COM 端口来测试我的程序 我想用 COM8 进行串行写入 用 COM9 进行串行读取 当想要写入 textbox1 中的值时 我收到此错误 IOException was unhandled The parameter is
  • XslLoadException:禁止解析外部 URI

    我有 xslt 工作表 其中包含另一个 xslt 文件的标签 所有文件编译正确且无错误 但运行以下代码时出现异常 var myXslTrans new XslCompiledTransform XsltSettings sets new X