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保存对象,那就太糟糕了