2016-08-08 5 views
1

私はクラスファイルを持っています。たとえば、 "com.main.module.Test.java"です。このファイルをxmlに変換する必要があります。私はjavax.xml.bind.JAXBを使用する場合は、返却XMLは次のようになります。xmlにjaxbが必要完全なパッケージ名でxmlを返す

<Test> 
<sample> 
</sample> 
</Test> 

しかし、私は次のように表示されるXMLを必要とする:あなたは、あなたが望む要素には任意の名前を付けることができます

<com.main.module.Test> 
<com.main.module.sample> 
</com.main.module.sample> 
</com.main.module.Test> 

答えて

1

限り、それはvalid nameです。

例:

@XmlRootElement(name = "com.main.module.Test") 
class Foo { 
    @XmlElement(name = "com.main.module.sample") 
    String bar; 

    public static void main(String[] args) throws Exception { 
     Foo foo = new Foo(); 
     foo.bar = "Hello World"; 

     Marshaller marshaller = JAXBContext.newInstance(Foo.class).createMarshaller(); 
     marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); 
     marshaller.marshal(foo, System.out); 
    } 
} 

出力

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<com.main.module.Test> 
    <com.main.module.sample>Hello World</com.main.module.sample> 
</com.main.module.Test> 

あなたが見ることができるように、ルート要素名はクラス名とは何の関係もない、とサブ要素名がとは何の関係もありませんフィールド名。

+0

ありがとうございました。出来た。 – Ismail

関連する問題