Вам явно не нужна сторонняя библиотека для генерации вашего довольно простого формата XML. Вы можете просто записать объект StringBuffer:
...
StringBuffer sb = new StringBuffer();
sb.append("<root>");
for (String[] row: dataList) {
sb.append("<entry>");
sb.append("<ContractDate>").append(row[0]).append("</ContractDate>");
// etc...
sb.append("</entry>");
}
sb.append("</root>");
...
Однако я не обязательно защищаю это. Я лично рекомендую Простой XML . Создайте POJO для моделирования ваших строк (я не буду включать все свойства в моем примере):
@Root
public class Entry {
@Element
private String trader;
@Attribute
private int id;
public Entry() {
super();
}
public String getTrader() {
return text;
}
public void setTrader(String trader) {
this.trader = trader;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
@Root(name="root")
public class Entries {
@ElementList(inline=true)
List<Entry> entries;
public Entries(List<Entry> entries) {
this.entries = entries;
}
}
Это, конечно, некоторая дополнительная работа заранее, но для нетривиальных программ наличие правильных классов Java для представления моделей данных имеет большой смысл и обеспечивает большую гибкость и ясность кода.
Чтобы сохранить сохранить как XML, вы делаете это:
List<Entry> entryList = new ArrayList();
int entryCount = 0;
Serializer serializer = new Persister();
for (String[] row: dataList) {
Entry entry = new Entry();
entry.setTrader(row[1]);
entry.setId(++entryCount);
entryList.add(entry);
}
File result = new File("entries.xml");
serializer.write(new Entries(entryList), result);
Простая библиотека XML дает вам большую гибкость. Вы также можете загрузить файл XML обратно в список объектов Entry.