2012-11-06 30 views
7

如果我有一個模式,如以下幾點:JAXB XJC代碼生成與他們的聲明元素初始化的

<xs:element name="Book"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:element ref="Chapter" /> 
     </xs:sequence> 
    </xs:complexType> 
</xs:element> 
<xs:element name="Chapter"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:element maxOccurs="unbounded" name="Word" /> 
     </xs:sequence> 
    </xs:complexType> 
</xs:element> 
<xs:element name="Word"> 
</xs:element> 

它會產生這樣的:

​​

是否有可能產生以下代替?

@XmlElement(name = "Chapter", required = true) 
protected Chapter chapter = new Chapter(); 

這是這樣,即使一個XML文件丟失一本書中的第一章元素,當它是解組仍然會有一個Book對象創建的,因此是可以做到 book.getChapter()。 getWord()並檢索一個空列表,而不是檢查null。

回答

0

您可以創建一個插件。我寫了一個short tutorial,可以幫助你做到這一點。希望你覺得它有幫助。