2011-03-01 75 views
3

我想從幾個xsd中產生一些bean。不幸的是,它們都具有相同的根元素。我已經成功創建了一個用於重命名子元素的xjc綁定文件,但無法找到一種方法來選擇根節點來更改它。如何在使用XJC生成JAXB代碼期間重命名頂級類名?

我嘗試了以下,但得到錯誤:[錯誤] XPath評估的「/」需要產生一個元素。

<jxb:bindings version="1.0" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:com.fnf="http://www.fnf.com/xes"> 
    <jxb:bindings schemaLocation="transcode-submit.xsd" node="/xs:schema"> 

    <jxb:bindings node="/"> 
     <jxb:property name="Newname"/>          
    </jxb:bindings> 

    </jxb:bindings>               

回答

8

我想通了。

<jxb:bindings version="1.0" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:com.fnf="http://www.fnf.com/xes"> 
    <jxb:bindings schemaLocation="transcode-submit.xsd" node="/xs:schema"> 

    <jxb:bindings node="//xs:element[@name='OLDROOTNAME']"> 
     <jxb:class name="NEWNAME"/>          
    </jxb:bindings> 

相關問題