Jaxb - 生成帶名稱空間和節點字首的Xml的方式
一、生成帶名稱空間的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格式
相關文章
- 使用p名稱空間和c名稱空間的XML快捷方式XML
- ros節點名稱空間ROS
- PHP 獲取不帶名稱空間的類名PHP
- 對名稱空間的一點個人理解
- 名稱空間
- package-make 新增自定義包的名稱空間和生成路徑Package
- Python作用域和名稱空間Python
- spring框架中的名稱空間Spring框架
- vuex名稱空間Vue
- PHP 名稱空間PHP
- 20200109 - 名稱空間
- PHP名稱空間PHP
- python名稱空間Python
- 內聯和巢狀名稱空間巢狀
- php名稱空間的呼叫順序PHP
- Python名稱空間包Python
- 11. 名稱空間
- ts---名稱空間
- C++名稱空間C++
- 15-名稱空間
- Python3 名稱空間和作用域Python
- Python中名稱空間是什麼?名稱空間生命週期是多久?Python
- Kubernetes 的層級名稱空間介紹
- 3-1 名稱空間
- PHP 核心特性 - 名稱空間PHP
- Kubernetes 名稱空間入門
- 什麼是名稱空間?
- JavaScript 節點物件的型別與名稱JavaScript物件型別
- c++系列:匿名名稱空間C++
- System.Security.Cryptography 名稱空間
- java使用jaxb解析XML(含根據xml自動生成實體類)JavaXML
- 物件導向 -- 類的載入順序 類和物件的名稱空間物件
- Python中名稱空間包簡介Python
- 瞭解下C# 名稱空間(Namespace)C#namespace
- PHP 物件導向 (三)名稱空間PHP物件
- OpenCV 名稱空間學習筆記OpenCV筆記
- C++系列: 巢狀名稱空間C++巢狀
- 關於System.Web.Script.Serialization名稱空間的引用Web