我無法查找元素的查找屬性值。我的XML是使用XStream讀取元素屬性值
<Person>
<BirthDate>2008-01-04</BirthDate>
<FirstName>Affo</FirstName>
<Gender tc="200">Male</Gender>
<LastName></LastName>
<Occupation>false</Occupation>
<Age>4</Age>
</Person>
我對<Gender tc="200">Male</Gender>
感興趣。我的POJO看起來是這樣的:
private String FirstName;
private String LastName;
private String Occupation;
@XStreamAsAttribute
@XStreamAlias("tc")
private String genderTC;
private String Gender;
private String birthDate;
private int age;
從XML是
XStream stream = new XStream(new DomDriver());
stream.processAnnotations(PersonType.class);
PersonType person = (PersonType) stream.fromXML(file);
System.out.println(person.getFirstName());
System.out.println(person.getGenderTC());
System.out.println(person.getGender());
這裏person.getGenderTC()
我得到空。有趣的是,當我逆轉的過程和產生使用相同PersonType POJO的XML,我得到了下面的XML:
<Person tc="111">
<FirstName>Himanshu</FirstName>
<Gender>M</Gender>
<Age>28</Age>
</Person>
退房節 「將對象映射到簡單的內容」:HTTP ://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-xstream.html – 2012-07-10 17:34:15
@BlaiseDoughan但是我又一次需要創建一個單獨的類來獲取內部屬性。對? – 2012-07-10 17:43:42
是的,如果您對使用EclipseLink MOXy感興趣,我可以告訴您如何在不引入單獨課程的情況下關閉它。 – 2012-07-10 17:50:34