2012-05-09 8 views
2

私は、XMLスキーマからJaxbアノテーション付きクラスを作成するためにXJCを使用しています。列挙型のXMLスキーマ

JAXBContext context = JAXBContext.newInstance(SomeClass.class); 
Marshaller marshaller = context.createMarshaller(); 

StringWriter writer = new StringWriter(); 
marshaller.marshal(cardJob, writer); 
String resultString = writer.getBuffer().toString(); 

で 私は、XML出力文字列を作成する - これは完璧に動作します。私は何を達成したいことは、XMLスキーマ内のエントリを作成し、エンド < .January> < ./January>のような出力で取得することにより、

Jan (1, "January"), 
Feb (2, "February"), 

... 

のように、このクラスに列挙を追加し、です。 間違っているかもしれませんが、enumエントリ名のxml要素のようなものです。私は、任意の解決策を得るいけない原因

ヘルプは、かなり素晴らしいことだ:(

+0

XSDの列挙型を使用する場合Javaの列挙型は自動的に作成する必要があります... – home

+0

はい、それは真ですが、私はのような出力が必要です<./January>。 – user558213

+0

以下は、 'String'をenumで置き換えるのに役立ちます:http://blog.bdoughan.com/2010/12/represent-string-values-as-element.html –

答えて

0

多分あなたは、あなた自身のContentHandler がorg.xml.sax.ContentHandler

列挙型を処理し、EndDocumentの

marshaller.marshal(obj, new yourContentHandler());前にバッファに入れて構築することができます