jaxb的@xmlSchema注解使用没有效果

本文探讨了在package-info.java文件中使用@XmlSchema注解时遇到的问题,并给出了修改前后的示例代码对比,最终实现了生成符合预期的XML格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在package-info.java中使用了@xmlSchema注解,但是没有效果,有没有遇到相同问题的,求解答

@XmlSchema(

xmlns={@XmlNs(prefix="xs",namespaceURI="http://www.w3.org/2001/XMLSchema") 
,@XmlNs(prefix="xdb",namespaceURI="http://xmlns.oracle.com/xdb")} 
,namespace="urn:Declaration:datamodel:standard:CN:MT3101:1" 
,elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED 
,attributeFormDefault=javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED 

)

package com.company.ferry.cyhl.cy.domain.so.arrfiles;


生成的xml字符串:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:XMLObject xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:ns3="urn:Declaration:datamodel:standard:CN:MT3101:1">
    <ns3:tid>1101</ns3:tid>
    <ns3:tname>zhangsan</ns3:tname>
    <ns3:address>
        <ns3:email>22@163.com</ns3:email>
    </ns3:address>
</ns3:XMLObject>


很无奈,,,,,根据jdk的API ,, xmlns:ns3部分应该是targetNamespace=的,,但是现在这样,根本就达不到效果




把package-info中的

@XmlSchema(

xmlns={@XmlNs(prefix="xs",namespaceURI="http://www.w3.org/2001/XMLSchema")  
,@XmlNs(prefix="xdb",namespaceURI="http://xmlns.oracle.com/xdb")}  
,namespace="urn:Declaration:datamodel:standard:CN:MT3101:1"  
,elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED  
,attributeFormDefault=javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED  

)

package com.company.ferry.cyhl.cy.domain.so.arrfiles;

改成


@XmlSchema(
namespace="urn:Declaration:datamodel:standard:CN:MT3101:1"
,xmlns={@XmlNs(prefix="xsd",namespaceURI="http://www.sdeport.gov.cn/xsd/ArrivalSchema.xsd")
,@XmlNs(prefix="",namespaceURI="urn:Declaration:datamodel:standard:CN:MT3101:1")}
,elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED
)


package com.company.ferry.cyhl.cy.domain.so.arrfiles;

生成的xml内容为

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLObject xmlns="urn:Declaration:datamodel:standard:CN:MT3101:1" xmlns:xsd="http://www.sdeport.gov.cn/xsd/ArrivalSchema.xsd">
    <tid>1101</tid>
    <tname>zhangsan</tname>
    <address>
        <email>22@163.com</email>
    </address>
</XMLObject>

评论(0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值