【问题标题】:JAXB XmlSchema.xmlns (in package-info.java) ignored by marshaller编组程序忽略 JAXB XmlSchema.xmlns(在 package-info.java 中)
【发布时间】:2013-10-07 17:27:48
【问题描述】:

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

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance">

因此,我已将 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 实现解决了这个问题;代码没问题,似乎是我使用的实现有问题:\

【问题讨论】:

    标签: java xml jaxb


    【解决方案1】:

    我有下面的示例并且可以正常工作。 试试看,如果您有任何问题,我会尽力提供帮助。

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

    问候

    【讨论】:

    • 尝试添加一些描述,比如说 '你的这个东西不正确,一定是那个' 这样即使你将来重新访问它时,答案也会对你更有用跨度>
    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    相关资源
    最近更新 更多