Java 转换器错误:无法编译样式表

2023-11-25

我想用 Java 中的 XSLT 转换 XML。为此,我正在使用javax.xml.transform包裹。但是,我得到了例外javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet。这是我正在使用的代码:

public static String transform(String XML, String XSLTRule) throws TransformerException {

    Source xmlInput = new StreamSource(XML);
    Source xslInput = new StreamSource(XSLTRule);

    TransformerFactory tFactory = TransformerFactory.newInstance();
    Transformer transformer = tFactory.newTransformer(xslInput); // this is the line that throws the exception

    Result result = new StreamResult();
    transformer.transform(xmlInput, result);

    return result.toString();
}

请注意,我标记了引发异常的行。

当我进入该方法时,值XSLTRule这是:

<xsl:stylesheet version='1.0'
 xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
 xmlns:msxsl='urn:schemas-microsoft-com:xslt'
 exclude-result-prefixes='msxsl'
 xmlns:ns='http://www.ibm.com/wsla'>
    <xsl:strip-space elements='*'/>
    <xsl:output method='xml' indent='yes'/>
    <xsl:template match='@* | node()'>
        <xsl:copy>
            <xsl:apply-templates select='@* | node()'/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="/ns:SLA
                            /ns:ServiceDefinition
                               /ns:WSDLSOAPOperation
                                  /ns:SLAParameter[@name='Performance']"/>
</xsl:stylesheet>

The 构造函数

public StreamSource(String systemId)

从 URL 构造 StreamSource。我认为您正在传递 XSLT 的内容。尝试这个:

File xslFile = new File("path/to/your/xslt");
TransformerFactory factory = TransformerFactory.newInstance();
Templates xsl = factory.newTemplates(new StreamSource(xslFile));

您还必须设置OutputStream那你的StreamResult将写信至:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
Result result = new StreamResult(baos);
transformer.transform(xmlInput, result);
return baos.toString();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 转换器错误:无法编译样式表 的相关文章

随机推荐

  • 目前在 Jupyter/iPython 中动态更新绘图的正确方法是什么?

    在答案中如何在 ipython 笔记本中动态更新循环中的绘图 在一个单元格内 给出了如何在 Python 循环中动态更新 Jupyter Notebook 内的绘图的示例 然而 这是通过在每次迭代中销毁并重新创建绘图来实现的 并且其中一个线
  • 将缺失的日期添加到 pandas 数据框中

    我的数据可以在给定日期有多个事件 也可以在某个日期没有事件 我记录这些事件 按日期计数并绘制它们 然而 当我绘制它们时 我的两个系列并不总是匹配 idx pd date range df simpleDate min df simpleDa
  • 是否存在占用 0 字节的 C++ 类型

    我试图声明一个占用零字节的 C 变量 它在一个联合体中 我从 int 0 类型开始 我不知道这是否实际上是零字节 尽管 sizeof int 0 是 0 我需要一种更好的方法来声明 0 字节类型 并且希望可以将其类型定义为 nullType
  • 无法使用 127.0.0.1 连接到 mysql

    使用以下代码我可以连接到mysql mysql connect localhost username 但如果我改变localhost to 127 0 0 1我收到以下错误 无法连接到 127 0 0 1 上的 MySQL 服务器 13 为
  • 命令行参数的Shell脚本密码安全

    如果我使用密码作为命令行参数 则它在系统上是公开的ps 但是如果我在 bash shell 脚本中并且执行如下操作 somecommand p mypassword 这仍然会出现在进程列表中吗 或者这样安全吗 子流程怎么样 不安全吧 协进程
  • 图库/AdapterView 子可绘制状态

    我正在使用图库视图 其中与每个项目相对应的视图都非常重要 并且由文本和多个按钮组成 当我单击以拖动图库视图 不在按钮之一上的某处 时 按钮的可绘制状态更改为按下 并且看起来好像所有按钮当前都被按下 此外 选定状态也会发生相同的行为 例如 子
  • 轻量级8字节哈希函数算法

    我需要从可变长度字符串中提取 8 字节摘要 因此我正在寻找将在 c c 中实现的算法 这将是微控制器上数字签名过程的一部分 因此它必须是 可以用几行代码编写 因为必须保留尽可能少的固件 资源消耗低 特别是RAM 最好小于100字节 足够强大
  • 如何在 Matlab 中打开 DBase 文件(.DBF)?

    我已经在 Matlab Central 中进行了谷歌搜索 但找不到任何直接在 Matlab 中打开 DBF 文件的方法 TMW File Exchange 中有一些对 DBFREAD 函数的引用 但它不再可用 真的有问题吗 我确实有数据库工
  • 如何从控制器外部访问登录用户?

    我正在使用 SignalR 处理来自客户端对我的 MVC3 应用程序的点击 每次用户单击某些内容时 我都需要验证登录的用户 如果这是在 MVC3 控制器内 我会 if User Identity IsAuthenticated string
  • 如何使用 Firebase 托管部署 Angular 2 应用程序?

    我想知道使用 Firebase 托管部署简单的 Angular 2 应用程序所需的步骤 这些是步骤 1 npm install g firebase tools 这将安装我们将在以下步骤中使用的 firebase CLI Firebase
  • Gfortran:将纯函数视为普通函数以进行调试?

    我需要调试一些pure使用 gfortran 编译的 fortran 程序中的函数 有什么办法可以忽略pure声明 以便我可以使用write print等在这 些pure无需付出很大努力就能发挥作用 不幸的是 仅仅删除它并不容易pure陈述
  • 正则表达式验证字符串仅包含字符(非特殊字符)、空格和数字

    我正在使用 Ruby on Rails 3 0 9 我想验证一个只能包含字符 不是特殊字符 不区分大小写 空格和数字的字符串 在我的验证代码中我有 validates name presence gt true format gt with
  • 使用 MassTransit 使用交换和路由密钥发布消息

    我已经关注 MassTransit 几个星期了 我对它的可能性很好奇 但是 我似乎无法完全正确地理解这些概念 预期行为我想将消息发布到带有路由密钥的 直接 交换 该路由密钥绑定到两个不同的队列以执行其他活动 当我尝试使用 MassTrans
  • 警告:尝试在其视图不在窗口层次结构中的 ViewController 上呈现 ViewController

    我已经查看了相关问题 但没有解决我的问题 我正在尝试使用dismissViewControllerAnimated animated completion and presentViewControllerAnimated animated
  • 如何在使用 slimerjs 在 casperjs 中运行测试脚本时最大化浏览器窗口

    使用 slimerjs 引擎在 casperjs 中运行测试脚本时 我无法查看完整窗口 谁能帮我增加 mozila 浏览器窗口的大小 当然 在 casper 中使用 phantom slimer viewportSize 选项 casper
  • Java 覆盖特定区域设置的区域设置

    我在用着NumberFormat getCurrencyInstance format amount 将货币从 BigDecimal 格式化为字符串 这按预期工作 问题是我们的主要目标是荷兰市场 而默认的荷兰语格式很奇怪 让我解释一下 当格
  • 在我的标签元素上设置 height: 100% 不起作用

    我尝试设置height 100 在标签中 但它不起作用 为什么不 field label color 3E3E3E font weight bold width 80px display block float left margin to
  • “AnyCPU”平台目标上的内存分配模式

    我故意在一个简单的 C 程序中泄漏内存 以了解有关 NET 如何管理这方面的更多信息 这是使用完成的int 数组 每个数组大小为 1000 万 每 100 毫秒声明一次 数组的元素不会被 触及 如分配一个值 以免将数据带入进程的工作集中 c
  • 服务层和控制器:谁负责什么?

    在课堂上 我们现在正在学习如何构建 Spring 应用程序 即使没有直接涉及 Spring 我们也学习了如何为 DAO 和服务层对象创建接口 如果我错了 请纠正我 DAO 层非常抽象 它只包含 CRUD 操作 并进一步用于读取数据 即 获取
  • Java 转换器错误:无法编译样式表

    我想用 Java 中的 XSLT 转换 XML 为此 我正在使用javax xml transform包裹 但是 我得到了例外javax xml transform TransformerConfigurationException Cou