kam*_*mal 5 java jaxb xml-parsing
这是我的xml:
<?xml version="1.0" encoding="UTF-8" ?>
<organization>
<bank>
<description>aaa</description>
<externalkey>123</externalkey>
<property name="pName" value="1234567890" />
</bank>
</organization>
Run Code Online (Sandbox Code Playgroud)
我为这个xml使用了JAXB和unmarshall,我可以得到描述和外键.但我无法获得有价值的财产名称.
这是我的unmarshall java类:
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());
Run Code Online (Sandbox Code Playgroud)Organization.java
@XmlRootElement
public class Organization {
Bank bank = new Bank();
public Bank getBank() {
return bank;
}
public void setBank(Bank bank) {
this.bank = bank;
}
}
Run Code Online (Sandbox Code Playgroud)Bank.java
@XmlRootElement
public class Bank {
private String description;
private String externalkey;
private String property;
//..GETTER and SETTER
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得房产名称和价值?感谢你
银行
您需要将property属性从a String更改为域对象.
@XmlAccessorType(XmlAccessType.FIELD)
public class Bank {
private String description;
private String externalkey;
private Property property;
}
Run Code Online (Sandbox Code Playgroud)
属性
然后你的Property对象看起来像:
@XmlAccessorType(XmlAccessType.FIELD)
public class Property {
@XmlAttribute
private String name;
@XmlAtrribute
private String value;
}
Run Code Online (Sandbox Code Playgroud)