一、生成带命名空间的Xml
Xml效果
<Order xmlns="http://www.xl.com.cn/msg">Java代码
/**
* Entity
*/
@XmlRootElement(name="Order", namespace="http://www.xl.com.cn/msg")
public class Order{
}二、声明带前缀的命名空间
Xml效果
<Order xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Java代码
/**
* package-info.java
* 放在和实体同一个包路径下
*/
@XmlSchema(
xmlns={
@XmlNs(prefix="xsi", namespaceURI="http://www.w3.org/2001/XMLSchema-instance"),
}
)
package cn.com.xl.entity;
import javax.xml.bind.annotation.XmlNs;
import javax.xml.bind.annotation.XmlSchema;/**
* Entity
*/
@XmlRootElement(name="Order")
public class Order {
}三、生成带前缀的命名空间和生成带前缀的节点
Xml效果
<msg:Order xmlns:msg="http://www.chinaport.gov.cn/ceb"><msg:OrderId></msg:OrderId></msg:Order>Java代码
/**
* package-info.java
* 放在和实体同一个包路径下
*/
@XmlSchema(
xmlns={
@XmlNs(prefix="msg", namespaceURI="http://www.xl.com.cn/msg")
}
)
package cn.com.xl.entity;
import javax.xml.bind.annotation.XmlNs;
import javax.xml.bind.annotation.XmlSchema;/**
* Entity
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="Order", namespace="http://www.xl.com.cn/msg")
public class Order {
@XmlElement(name="OrderId", namespace="http://www.xl.com.cn/msg")
private String OrderId;
}四、补充
1、某个子节点不需要该前缀,则entity中为字段注解@XmlElement时不设置namespace即可
2、需要多个命名空间,这在package-info中添加多个@XmlNs即可
3、为配置节点前缀而配置的注解中的namespace必需在package-info中声明,否则节点前缀将为nsN格式
版权声明:本文为u013379717原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。