2012-07-11 83 views
1

我們有一個現有的文檔樹。我們想要將這個樹中的一些元素包裝在一個元素中。兩個完全不同的JAXB註釋類,相同的@XmlElement名稱。可能?

根據我們樹中的哪個位置,元素將保存非常不同的內容。

所以我有一個DocumentPromptLanguage類和一個DocumentRouterLanguage類。他們有不同的父母和不同的孩子,但在XML中它們都被稱爲<language>

這可能沒有適配器,或者必須通過元素名稱消除XML的歧義?

樣品:

<?xml version="1.0" encoding="utf-8"?> 
<doc> 
    <info> 
     <language> 
      <iso639>en</iso639> 
      <value>This is a sample document</value> 
     </language> 
     <language> 
      <iso639>es</iso639> 
      <value>Se trata de un documento de muestra</value> 
     </language> 
    </info> 
    <someElement> 
     <route> 
      <language> 
       <iso639>en</iso639> 
       <possibleValues>Yes|No|Maybe</possibleValues> 
       <prefix>For</prefix> 
      </language> 
      <language> 
       <iso639>es</iso639> 
       <possibleValues>sí|not|tal vez</possibleValues> 
       <prefix>para</prefix> 
      </language> 
      <when>Tuesday</when> 
      <afterTime>17.30</afterTime> 
      <goto></goto> 
     </route> 
    </someElement> 
</doc> 
+0

你能發佈一個示例XML文檔嗎? – 2012-07-11 10:16:38

+0

我認爲,爲了清楚起見,您應該考慮將不同的''元素放在不同的名稱空間中,而不管是否可能使其工作。實際上,對我來說,在''語言中調用''是沒有意義的。它不僅僅是一種語言,而是一種信息或類似的東西,因爲它似乎只是一個字符串和字符串所在語言的包裝。 – Thor84no 2012-07-11 13:27:37

回答

1

是映射到route元素的類可以有@XmlElement(name="language")映射的屬性,所以可以映射到info元素的類。這是因爲映射的範圍是類。

相關問題