How to get xml attribute using JAXB
java, jaxb, xml-parsing
Solution
Bank
You need to change the `property` property from a `String` to a domain object.
@XmlAccessorType(XmlAccessType.FIELD)
public class Bank {
private String description;
private String externalkey;
private Property property;
}
Property
Then your `Property` object would look something like:
@XmlAccessorType(XmlAccessType.FIELD)
public class Property {
@XmlAttribute
private String name;
@XmlAtrribute
private String value;
}
Problem
this is my xml: ``` <?xml version="1.0" encoding="UTF-8" ?> <organization> <bank> <description>aaa</description> <externalkey>123</externalkey> <property name="pName" value="1234567890" /> </bank> </organization> ``` I used JAXB and unmarshall for this xml and I can get description and externalkey. But I cannot get property name with value. This is my java class for unmarshall: ``` JAXBContext jb = JAXBContext.newInstance(Organization.class); Unmarshaller um = jb.createUnmarshaller(); Organization org = (Organization) um.unmarshal(new File("\\upload\\bank999999.xml")); System.out.println(org.getBank().getDescription()); System.out.println(org.getBank().getExternalkey()); ``` Organization.java ``` @XmlRootElement public class Organization { Bank bank = new Bank(); public Bank getBank() { return bank; } public void setBank(Bank bank) { this.bank = bank; } } ``` Bank.java ``` @XmlRootElement public class Bank { private String description; private String externalkey; private String property; //..GETTER and SETTER } ``` How can I get property name and value? Thank u