[英]xml to java object via JAXB
我有以下帶有測量部分的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中只返回了最后一個“ component”和“ 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;
}
我看到的XML問題應該是
<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>
</measurement>
<measurement>
<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>
休息所有您的POJO似乎很好,即按照上面建議的xml同步。
否則,如果您需要繼續使用現有的XML,請按如下所示更改類:
@XmlRootElement
public class root_element {
private Measurement measurements;
//getter-setters
}
測量等級
public class Measurement {
private List<String> component;
private List<AveragedTime> averagedTime;
//getter-setters
}
休息都好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.