【发布时间】:2014-04-12 18:01:55
【问题描述】:
我有以下带有 measurement 部分的 xml,我想将其转换为 java 对象。但我对本节设计 POJO 的对象有疑问。你能帮我吗?谢谢
<root_element>
<element>some_value</element>
<element>some_value</element> // SOME OTHERS ELEMENT'S
<element>some_value</element>
<measurement> // BEGINING OF THE SECTION WHERE I HAVE A PROBLEM
<component>SO2</component>
<averaged_time>
<averaged_hours>1</averaged_hours>
<value>9.054</value>
</averaged_time>
<component>NO2</component>
<averaged_time>
<averaged_hours>1</averaged_hours>
<value>14.155</value>
</averaged_time>
</measurement> // END OF THE SECTION WHERE I HAVE A PROBLEM
<element>some_value</element>
</root_element>
我有这样的东西(我没有在这里写其他参数,那些工作没有问题)。 JAXB 在Measurement 中返回我最后一个“组件”和“averaged_time”元素。我知道ArrayList <Measurement> 是不好的方法。
@XmlRootElement
public class root_element {
private ArrayList<Measurement> measurements;
public ArrayList<Measurement> getMeasurements() {
return measurements;
}
@XmlElement (name = "measurement")
public void setMeasurement(ArrayList<Measurement> measurements) {
this.measurements = measurements;
}
}
测量对象
public class Measurement {
private String component;
private AveragedTime averagedTime;
public String getComponent() {
return component;
}
@XmlElement (name = "component")
public void setComponent(String component) {
this.component = component;
}
public AveragedTime getAveragedTime() {
return averagedTime;
}
@XmlElement (name = "averaged_time")
public void setAveragedTime(AveragedTime averagedTime) {
this.averagedTime = averagedTime;
}
}
平均时间对象
public class AveragedTime {
private int averaged_hours;
private double value;
public int getAveraged_hours() {
return averaged_hours;
}
@XmlElement (name = "averaged_hours")
public void setAveraged_hours(int averaged_hours) {
this.averaged_hours = averaged_hours;
}
public double getValue() {
return value;
}
@XmlElement (name = "value")
public void setValue(double value) {
this.value = value;
}
【问题讨论】: