我想在xml中保留菜单配置。所以我想出了这个:
它看起来像一个文件夹和文件机制。动作是一个简单的动作,动作组由动作和动作组组成,但是可选的。
一些规则: 1-我必须服从命令。这就是为什么我不能为动作和动作组使用不同的列表的原因。
2-这不是规则,但我不想限制菜单的深度。
这是课程:
Interaction ActionItem:
public interface ActionItem {
}
具体类别的操作:
public class Action implements ActionItem {
private String id;
}
具体类ActionGroup:
public class ActionGroup implements ActionItem {
private String id;
private List<ActionItem> actions;
}
和菜单类:
public class Menu {
private List<ActionItem> actions;
}
但是我不能在XStream中用它创建一个简单的xml。应该有一种方式可以说Action是XStream的ActionItem,但我找不到它。其实我对工具没有限制。如果可以用JAXB完成,我可以使用它。
我只想要一个这样的简单结构:
<Menu>
<ActionGroup>
<Action/>
<Action/>
<ActionGroup>
<Action/>
<Action/>
<ActionGroup>
<Action/>
<Action/>
</ActionGroup>
</ActionGroup>
<Action/>
<ActionGroup>
<Action/>
<Action/>
</ActionGroup>
</ActionGroup>
</Menu>
这是我通过XStream获得的:
<MenuConf>
<actions>
<ActionGroup>
<id>Planning</id>
<actions>
<Action>
<id>/Planning/A</id>
</Action>
<Action>
<id>/Planning/B</id>
</Action>
<Action>
<id>/Planning/C</id>
</Action>
</actions>
</ActionGroup>
</actions>
</MenuConf>
是否有摆脱“动作”标签的方法?