簡體   English   中英

是否有Java對象/類的標准XML模式?

[英]Is there a standard XML schema for Java objects/classes?

是否有可用的標准XML模式來描述Java對象的一般結構和內容? 我搜索了這個無濟於事。

我對XML一般都是相對較新的,特別是各種基於Java的XML技術(主要是JaxB),如果我忽略了某些東西,請原諒我。

簡單的答案是沒有這樣的標准架構。

當您使用類似JAXB的序列化時,您實際上為綁定的每個類/類網絡都有不同的XML架構。


還有幾點意見:

  • 可以編寫一個能夠表示任何類型Java對象的XML模式。 你需要一個“對象”元素,它有一個叫做類名的屬性,叫做“field”的子元素等等。 但由此產生的XML表示將占用更多空間,並且難以閱讀和使用。

  • 在JAXB等中,(顯然)是類網絡和XML結構之間的系統關系,但它不能表示為XML模式。 相反,它是一個映射,從概念意義上“從類”生成一個模式。 (實際上,它類似於XMI中發生的事情,其中​​元模型映射到XML模式。)

  • 參照完整性超出了XML模式中可表達的范圍,但這並不是沒有通用模式的原因。 即使您忽略引用完整性並將問題減少為“樹形”,您仍然無法為JAXB,XMI和類似映射生成的XML類型生成有用的公共模式。

它不是官方的Oracle / Sun標准,而是第三方工具JSX,將java對象序列化為xml,並具有其格式XML Schema規范

示例XML顯示了它如何記錄對象的內部細節,包括字段類型和繼承的類。

即使您自己不使用此模式,它也會為您提供一個格式要解決的問題的起點,以便完全表示對象狀態。

XMLSchema文件描述符合此XMLSchema文件中存儲的元素定義的XML文檔中可能和不可能的內容。

XMLSchema本身與Java無關:XMLSchema文件僅用於檢查符合XMLSchema文件的XML文件的有效性。

Java人員使用XMLSchema文件生成Java源代碼,該源代碼能夠從符合XMLSchema(xjc工具)的XML文件接收數據。

您還可以從一組Java源文件生成XMLSchema文件(使用schemagen工具)。

如果有以下元素,則可以使用JAXB將Java對象編組/解組為XML文件:

  • XMLSchema文件
  • Java源文件
  • XML文件

還有其他方法可以對Java中的xml數據進行編組/解組

假設可以構造一種允許JAX-B或其他序列化庫生成的所有可能XML文件的元模式。 但是,大多數人都不會發現這樣的模式有用,因為它允許如此廣泛的XML文檔基本上沒有用。 相反,人們要么從模式開始並生成Java類,要么從特定的java類圖開始,並生成反映(哈哈)其中特定數據的模式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM