[ОБНОВЛЕНИЕ] Я пытаюсь использовать jaxb для хранения XML-элемента в массиве.Я видел много учебных пособий для хранения в формате ниже XML в объекте или массиве
<country>
<name>nepal</name>
<zip>123</zip>
</country>
, и я пробовал с другим видом XML-файла, как показано ниже, и это не сработало
<TransactionList>
<Transaction type="D" amount="61" narration="Electricity bill" />
<Transaction type="D" amount="32" narration="Social security payment" />
<Transaction type="D" amount="33" narration="Payment sent to x" />
<Transaction type="C" amount="111" narration="Salary" />
<Transaction type="D" amount="233" narration="Car rental" />
я попробовал так, как показано ниже код
try {
File file = new File("C:\\Users\\anon\\Desktop\\Transaction_Data.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Transaction.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Transaction transaction = (Transaction) jaxbUnmarshaller.unmarshal(file);
System.out.println(transaction);
} catch (JAXBException e) {
e.printStackTrace();
}
мой класс pojo (Transaction.java)
@XmlRootElement(name="TransactionList")
@XmlAccessorType(XmlAccessType.FIELD)
public class Transaction {
@XmlElement(name="type")
private String type;
@XmlElement(name="amount")
private BigDecimal amount;
@XmlElement(name="narration")
private String narration;
@XmlElement(name = "Transaction")
private List<Transaction> transaction= null;
public List<Transaction> getTransaction() {
return transaction;
}
public void setTransaction(List<Transaction> transaction) {
this.transaction = transaction;
}
я получаю это как вывод
com.progressoft.induction.tp.models.Transaction@0
когда я пытаюсь это сделать
transaction.getAmount();
, тогда я получаю ноль