【发布时间】:2019-06-09 19:23:50
【问题描述】:
我的对象列表中有许多来自 XML 源的值:
iit.getHomeCurrency().getPrice().toString()
如果我把 System.out.println(iit.getHomeCurrency().getPrice().toString()); 我成功获得了完整的对象列表。
但是,当我想将此对象转换为 CSV 时,使用
CSVWriter csvWriter = new CSVWriter(new FileWriter("example.csv"));
csvWriter.writeNext(new String[]{iit.getHomeCurrency().getPrice().toString(),"/n"}
csvWriter.close();
我在 csv 文件中只有一行 :(
代码:
for(int i=0;i<contentElement.size();i++){
JAXBElement<ListInvoiceType> invoiceTypeElement = (JAXBElement<ListInvoiceType>) contentElement.get(i);
ListInvoiceType listInvoiceType = invoiceTypeElement.getValue();
List<InvoiceType> invoiceTypeList = listInvoiceType.getInvoice();
for(InvoiceType invoiceType:invoiceTypeList ){
InvoiceHeaderType invoiceHeaderType = invoiceType.getInvoiceHead
er();
InvoiceDetailType invoiceDetailType = invoiceType.getInvoiceDetail();
InvoiceItemType iit = null;
InvoiceAdvancePaymentItemType iapit = null;
for(Serializable s:invoiceDetailType.getContent()){
if(s instanceof JAXBElement) {
JAXBElement<?> element = (JAXBElement)s;
if(element.getValue() instanceof InvoiceItemType){
iit = (InvoiceItemType)element.getValue();
}
else if(element.getValue() instanceof InvoiceAdvancePaymentItemType){
iapit = (InvoiceAdvancePaymentItemType)element.getValue();
}
else{
throw new Exception("xx");
}
}
else if(s instanceof String){
}
else{
throw new Exception("xx");
}
if(iit!=null){
CSVWriter csvWriter = new CSVWriter(new FileWriter("example.csv"));
csvWriter.writeNext(new String[]{iit.getHomeCurrency().getPrice().toString(), iit.getCentre().getIds() ,invoiceHeaderType.getDate().toString(),invoiceHeaderType.getInvoiceType().value(),"\r\n"});
csvWriter.close();
我应该改变什么让java将每个对象写入csv文件的新行?
谢谢
【问题讨论】: