使用 JAXB xjc 工具從 XML 綱目檔產生 JAXB 類別
使用 Java Architecture for XML Binding (JAXB) xjc 工具,將 XML 綱目檔編譯成完整註釋的 Java 類別。
開始之前
關於此作業
使用 JAXB API 和工具來建立 XML 綱目和 Java 類別之間的對映。 XML 綱目說明 XML 文件中的資料元素和關係。 在資料對映或連結存在之後,您可以在 Java 物件之間來回轉換 XML 文件。 您現在可以存取儲存在 XML 文件中的資料,而不需要瞭解資料結構。
如果要從現有的「Web 服務說明語言 (WSDL)」檔開始使用由上而下開發方法來開發 Web 服務,請在開始使用 WSDL 檔時,使用 wsimport 工具來產生 Java API for XML-Based Web Services (JAX-WS) 應用程式的構件。 產生應用程式的 Java 構件之後,您可以使用 JAXB 綱目編譯器 xjc 指令行工具,從 XML 綱目檔產生完整註釋的 Java 類別。 產生的標註 Java 類別包含 JAXB 執行時期剖析 XML 以進行配置和解除配置所需的所有必要資訊。 您可以使用 Java API for XML Web Services (JAX-WS) 應用程式或其他 Java 應用程式內產生的 JAXB 類別來處理 XML 資料。
除了從指令行使用 xjc 工具之外,您還可以從 Ant 建置環境內呼叫這個 JAXB 工具。 從 Ant 建置環境內使用 com.sun.tools.xjc.XJCTask Ant 作業來呼叫 xjc 綱目編譯器工具。 為了讓功能正常運作,這項 Ant 作業需要您使用 ws_ant Script 來呼叫 Ant。
destdir 參數來指定目的地目錄,而不是 target 選項。 在使用 xjc Ant 作業時指定 target 選項會導致錯誤。程序
- 使用 JAXB 綱目編譯器, xjc 指令來產生 JAXB 標註的 Java 類別。綱目編譯器位於 app_server_root\bin\ 目錄中。 綱目編譯器會根據編譯所用的連結選項,產生一組包含 Java 原始檔和 JAXB 內容檔的套件。
- (選用) 使用自訂連結宣告來變更預設 JAXB 對映。 在 XML 綱目檔或個別連結檔中定義連結宣告。 您可以搭配使用
-b選項與 xjc 指令,來傳遞自訂連結檔。 - 編譯產生的 JAXB 物件。如果要編譯產生的構件,請將 Thin Client for JAX-WS with WebSphere Application Server 新增至類別路徑。
結果
範例
- 將下列
bookSchema.xsd綱目檔複製到暫存目錄。<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="CatalogData"> <xsd:complexType > <xsd:sequence> <xsd:element name="books" type="bookdata" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="bookdata"> <xsd:sequence> <xsd:element name="author" type="xsd:string"/> <xsd:element name="title" type="xsd:string"/> <xsd:element name="genre" type="xsd:string"/> <xsd:element name="price" type="xsd:float"/> <xsd:element name="publish_date" type="xsd:dateTime"/> <xsd:element name="description" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:string"/> </xsd:complexType> </xsd:schema> - 開啟命令提示字元。
- 從綱目檔所在的目錄執行 JAXB 綱目編譯器 xjc 指令。 xjc 綱目編譯器工具位於 app_server_root\bin\ 目錄中。
執行 xjc 指令會產生下列 JAXB Java 檔案:
generated\Bookdata.java generated\CatalogdData.java generated\ObjectFactory.java - 在 Java 應用程式內使用產生的 JAXB 物件,透過產生的 JAXB 類別來操作 XML 內容。
如需 xjc 指令的相關資訊,請參閱 JAXB 參照實作文件。