Java 如何使用xstream将类属性放入字段中

Java 如何使用xstream将类属性放入字段中,java,xml,xstream,Java,Xml,Xstream,我想更改此输出 <Event> <eventState class="scientificEvents.state.EventRegistered"> <event reference="../.."/> </eventState> </Event> <Event> <eventState>scientificEvents.state.EventRegistered<

我想更改此输出

<Event>
    <eventState class="scientificEvents.state.EventRegistered">
        <event reference="../.."/>
    </eventState>
</Event>
<Event>
    <eventState>scientificEvents.state.EventRegistered</eventState>
</Event>
事件状态

public interface EventState{}
public abstract class EventStateImpl implements EventState
{
   private Event event;

   public EventStateImpl(Event e)
       {
        event = e;
       }
 }
实现EventState的类

public interface EventState{}
public abstract class EventStateImpl implements EventState
{
   private Event event;

   public EventStateImpl(Event e)
       {
        event = e;
       }
 }
将此类设置为事件的状态

public class EventRegistered extends EventStateImpl
{
    public EventRegistered(Event e)
    {
        super(e);
    }
}
基本上,事件在其属性中包含一个类,我想将其作为xml输出中的一个字段。这就是我现在正在做的

File file = new File("events.xml");
XStream xstream = new XStream(new DomDriver());
Event event=new Event();
event.setState(new EventRegistered());
FileWriter out = new FileWriter(file)
String xml = xstream.toXML(events);
out.write(xml);
out.close();

提前感谢

作为旁注,可能有点离题:您可以代替xstream并避免外部依赖。JAXB需要注释,否则代码会变得太长和混乱。如果我想从API保存对象,那就太糟糕了