我正在解析xml文件并尝试从中创建模型。我正在使用Simple XML库。我的xml看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<root cycles_count="2">
<shifts>
<shift id="0" name="first"/>
<shift id="1" name="second"/>
<shift id="2" name="third"/>
<shift id="3" name="fourth"/>
</shifts>
<cycles>
<cycle name="A" start_date="1334620800000">
<cycle_shift id="0" />
<cycle_shift id="0" />
<cycle_shift id="1" />
</cycle>
<cycle name="B" start_date="1334620800000">
<cycle_shift id="1" />
<cycle_shift id="1" />
<cycle_shift id="2" />
</cycle>
</cycles>
</root>
有什么方法可以根据相同的cycle_shift
从shift
到id
创建对象引用?我想实现类似的东西(简化版):
@Root
public class Shift {
@Attribute
int id;
@Attribute
String name;
}
@Root
public class Cycle {
@ElementList
List<Shift> shifts; // shifts connected by id's
}
也可以更改xml架构。提前谢谢。
答案 0 :(得分:0)
那会有用吗?
答案 1 :(得分:0)
您可以在Shift上设置名称属性optional,并摆脱cycle_shift并仅使用shift
<?xml version="1.0" encoding="utf-8"?>
<root cycles_count="2">
<shifts>
<shift id="0" name="first"/>
<shift id="1" name="second"/>
<shift id="2" name="third"/>
<shift id="3" name="fourth"/>
</shifts>
<cycle name="B" start_date="1334620800000">
<cycle_shift id="1" />
<cycle_shift id="1" />
<cycle_shift id="2" />
</cycle>
你的伪代码将是这样的:(我正在使用inline修饰符)
@Root
public class Cycle {
@ElementList(inline=true)
List<Shift> shifts; // shifts connected by id's
}