当前位置: 首页 > 知识库问答 >
问题:

无法将type封送为元素,因为它缺少自动生成类的@XmlRootElement批注

司空高义
2023-03-14

我需要对照我的模式来验证Class object,在我的模式中,我提供了正则表达式来验证自动生成的JAXB类的字段。当我尝试验证我的类对象时,我得到以下错误:

jc = JAXBContext.newInstance(obj.getClass());
source = new JAXBSource(jc, obj);
Schema schema = schemaInjector.getSchema();
Validator validator = schema.newValidator();
validator.validate(source);

我还有别的办法可以解决吗?

共有1个答案

鲁昕
2023-03-14

如果您的类没有@XmlRootElement注释,那么您可以将它包装在JAXBElement的实例中。如果您从XML模式生成类,那么生成的objectFactory可能为您提供了一个方便的方法。

我在博客上写了更多关于这个用例的内容:

 类似资料:
  • 我想将对象封送到XML。 但是,除以下情况外,它失败了: 事实上,这个注释是存在的(对于父类和交付的类): 儿童班: 它在该方法中完全失败: 它应该起作用,但不应该。 我找不到这里遗漏或错误的地方。 更新: 以下是测试片段: 我从CSV文件中获取日期,并将其转换为DTO对象。此方法返回给我FreightOfferDetail 以下是此方法的片段: 在这种情况下,如何将对象封送到XML文件?

  • 我有以下JAXB对象: 我使用JAXB编组程序将对象转换为XML: 它运行平稳,没有任何异常,但是,结果总是缺少元素键。我试图将其改为Attribute,但它也不起作用。以下是输出示例: 我曾尝试将键更改为另一个名称,例如AuthKey,但它仍然缺失。我做错了什么? 编辑我发现了问题,这是因为我的键的值是空的。如果它包含值,则将其写入XML。然而,您能解释一下为什么在XMLElement中,我写了

  • 问题内容: 我尝试在本地运行wampserver,但mysql服务器未运行。当我尝试 安装服务时 ,它给我错误。我整天都在搜索答案,并在这里和那里找到了一些答案。 但任何解决方案都不适合我。我试图在Windows7家庭OS vmware上安装warpserver 对我有帮助吗? 问题答案: 我终于找到解决问题的方法。我已经尝试了几种方法来解决上述问题,但对我来说却无济于事。 如您所知,WampSe

  • 根据Camel文档,在这种情况下,可以将JaxbDataFormat设置为'fragement(true) 不幸的是我还是有同样的例外。 是否有一种方法来配置不同的JaxbDataFormat,即定义作为根元素的JAXBElement,就像我在Java中所做的那样 [NA:1.8.0_25]在java.lang.thread.run(thread.java:745)[NA:1.8.0_25]原因:

  • 我在Postgres数据库中创建了一个新表 但我得到的错误是: 我已将library.xml文件放在资源文件夹中。我是jooq的新手,Spring启动。请帮助我如何自动生成jooq类。

  • 我试图为我的MySql数据库自动生成jOOQ java代码,但它不起作用。我在maven的JSP项目中使用jOOQ。 xml 我正在使用Tomcat在eclipse上运行这个项目。当我想运行Web应用程序时,我会清理项目,然后清理项目 当我运行该项目时,并没有生成数据库的java代码<正如文档中所说,由于我在jOOQ中使用maven,因此我可以自动生成JAVA代码,而无需使用cli。无需创建库。x