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

JAXB XmlSchema.xmlns(在package-info.java)被marshaller忽略

涂浩皛
2023-03-14

我需要生成一个XML文档,开头如下:

因此,我将package-info.java修改如下:

@javax.xml.bind.annotation.XmlSchema( namespace = "urn:iso:std:iso:20022:tech:xsd:pain.008.001.02"
                                , xmlns = { @javax.xml.bind.annotation.XmlNs( prefix="xsi"
                                                                            , namespaceURI="http://www.w3.org/2001/XMLSchema-instance")
                                          }
                                , elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED
                                )
package mypackage;

但输出是:

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02">

我不知道从哪里开始寻找,因为我所找到的一切都表明我正在做的事情。。。

更新:我通过使用MOXy作为JAXB实现解决了这个问题;代码没问题,似乎是我使用的实现有问题:\


共有1个答案

丁震博
2023-03-14

我有下面的例子,工作正常。试试看,如果你有任何问题,我会尽力帮忙。

elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, xmlns = {
    @XmlNs(prefix = "xsi", namespaceURI = "http://www.w3.org/2001/XMLSchema-instance")
})

问候

 类似资料:
  • 问题内容: 我正在尝试在包级别使用Hibernate @TypeDef批注,这与Hibernate文档中所描述的完全相同。我正在使用和。代码可以编译,并且在类路径中,但是Hibernate仍然看不到它。 如果我上课,那是行得通的,但是如果我把放在那,那是没有用的。我试图用Google搜索,但找不到任何有用的信息。 谢谢! 问题答案: 您可能需要添加一个 到您的Hibernate配置文件,或调用co

  • 问题内容: 尝试创建包级Javadoc注释时,首选方法是什么?你是做什么? 包信息.java 优点 较新的 缺点 滥用类-类仅用于代码,而不仅用于注释 package.html 优点 HTML扩展名表示其不是代码 IDE /文本编辑器中的语法突出显示 缺点 没有? 对我而言,我一直使用Package.html。但是我想知道它是否是正确的选择。 问题答案: :“此文件是JDK 5.0中的新文件,比p

  • 如果没有package-info.java文件,JAXB解组器会抛出异常。此代码是从另一种语言调用的,自定义类加载器无法正确加载包信息。 我已经手动将命名空间参数添加到所有@XmlElement注释中。 Xml 根元素具有多个 xmlns 属性。其中两个(xmlns和xmlns:c)具有相同的值(我无法更改xml,它来自外部服务) 但是:如果我从文档中删除xmlns="urn:foo:bar ",

  • 对于所有给定的XSD,jaxb2 maven插件不会生成包信息。java文件。(它只生成类)。我们仍然使用Java1.8 我的pom看起来像这样: 有什么想法吗?

  • 问题内容: 在Eclipse Juno中创建新软件包时,将自动创建一个Java文件(package- info.java)。该文件的用途是什么?在另一个类中导入特定的类有用吗? 问题答案: 它可以用于包级别的文档。例如,Spring团队在Spring Framework的核心中广泛使用了它。 除此之外,它还可以包含适用于包中所有类的注释。例如,这是避免在每个类上编写Eclipse Null Ana

  • 问题内容: 我正在尝试添加程序包级别的注释,但是我不知道如何执行此操作。示例被赞赏。 问题答案: 从文章摘要这里 在package-info.java中: 在PackageLevelAnnotation.java中 编辑:更多包级别信息。下面是在Java语言规格封装章链接:包