我无法查找元素的查找属性值。我的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