我想从一个对象列表创建一个XML文件。对象具有一些属性,因此标记将是属性名称,相应的数据将位于标记内。
这是一个例子:
我有一个列表myEquipmentList
,其中包含类Equipment
的100个对象。现在,Equipment
类中的属性是id,name,size,measures,unit_of_measure等。
现在我想创建类似这样的XML。
<Equipment id=1>``
<name>Ruler</name>
<size>1000</size>
<measures>length</measures>
<unit_of_measure>meter</unit_of_measure>
</Equipment>
有什么想法吗?
答案 0 :(得分:4)
您可以使用对象列表创建一个类,然后将列表反序列化为xml,最后将xml反序列化为列表。
请看这个链接 - 非常有用: How to convert List of Object to XML doc using XStream
答案 1 :(得分:4)
了解JAXB。
你可以有一个这样的类来生成你想要的XML:
@XmlRootElement
public class Equipment {
private Long id;
private String name;
private Integer size;
...etc...
@XmlAttribute
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
... etc...
}
你可以在google上找到关于在stackoverflow上搜索的大量关于JAXB的信息。
http://jaxb.java.net/tutorial/
这些看起来像几个简单的教程:
答案 2 :(得分:1)
最简单的方法之一就是遍历列表并使用字符串来编写XML。没有什么特别的,非常快捷的。
答案 3 :(得分:0)
我倾向于在JAXB上使用名为Simple XML Serialization的库,我不得不说它非常简单,但非常灵活。
Simple和JAXB here之间有很好的比较。