Jasper reports 在iReport 5.6打开JRXML时出错:“0”;属性';hTextAlign';不允许出现在元素';风格'&引用;

Jasper reports 在iReport 5.6打开JRXML时出错:“0”;属性';hTextAlign';不允许出现在元素';风格'&引用;,jasper-reports,ireport,Jasper Reports,Ireport,是否有人在尝试打开jrxml文件时在iReport 5.6中遇到此错误 属性“hTextAlign”不允许出现在元素“style”中 问题的原因 jrxml文件只是一个xml文件。借助于验证xml文件是一种常见做法 JasperReports引擎也在做同样的事情——它使用xsd模式来验证报告的模板(jrxml文件) xsd在6.x版本与5.x版本相比发生了更改 JasperReports最新版本的架构可从中获得。您始终可以在jrxml文件的标题处找到指向架构的链接: 看起来您的模板(jrxm

是否有人在尝试打开jrxml文件时在iReport 5.6中遇到此错误

属性“hTextAlign”不允许出现在元素“style”中

问题的原因 jrxml文件只是一个xml文件。借助于验证xml文件是一种常见做法

JasperReports引擎也在做同样的事情——它使用xsd模式来验证报告的模板(jrxml文件)

xsd在6.x版本与5.x版本相比发生了更改

JasperReports最新版本的架构可从中获得。您始终可以在jrxml文件的标题处找到指向架构的链接:


看起来您的模板(jrxml文件)是使用6.x版本的JasperReports Studio创建或编辑的,保存时未应用与5.x版本的兼容性选项(兼容性警告对话框)

如何解决这个问题:
  • 您可以使用Jaspersoft Studio(JSS)修改报告的模板。也许这是最好的选择,因为iReport已被弃用(自2015年底起不受支持),并且只支持5.6版和最旧版本的JasperReports模板/功能

  • 您可以在兼容模式下将模板保存为JSS上的5.x版本,然后使用iReport继续编辑jrxml文件

  • 该对话框在JSS保存模板时出现,如下所示:

    若要启用此对话框,您应该通过窗口->首选项菜单更改表单中的设置

  • 始终仅使用iReport designer。但请注意:它不支持6+版本的JasperReports模板。
  • 如何检查5.x和6.x版本模式的差异 任何版本的JasperReports的xsd模式都可以在带有源代码的JasperReports包或源代码存储库中找到

    这是比较5.6.1(左面板)和6.3.0(右面板)版本的xsd文件的片段(屏幕截图)


    正如您所见,错误消息中的
    hTextAlign
    属性仅在6.x版本的xsd中显示。这是导致您在textField标记中删除所有属性的错误原因。我已经删除了该属性,它对我来说运行良好。

    看起来您正在尝试打开不受支持的jrxml(6.x版本)谢谢。这是iReport中的版本,但在Jasper Studio 6.2中进行了编辑,并添加了iReport不支持的功能。欢迎:)谢谢!切换到Jasper Studio的正确兼容版本。切换到如图2所示的兼容版本对我有效