我有一个类似下面的XML,我使用XStream来解析这个XML
<Annotation name="uniqueMembers">true</Annotation>
和Annotation的类:
@XStreamAlias("Annotation")
public class Annotation {
@XStreamAsAttribute
private String name;
private String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
我需要这个标签的“真实”值,但是当我打电话时
xStream.fromXML("myXml.xml");
它具有空值 为什么?我怎样才能得到这个标签的“真实”?
编辑: MyXml.xml的一部分
<Dimension name="Branch" >
<Hierarchy name="xxx" primaryKey="" hasAll="true" allMemberName="All" >
<Table schema="vvv" name="ccc" />
<Level name="State" captionColumn="STATE_NAME" uniqueMembers="true" type="Integer" />
<Level name="City" captionColumn="CITY_NAME" uniqueMembers="true" type="Integer">
<Annotations>
<Annotation name="uniqueMembers">true</Annotation>
</Annotations>
</Level>
<Level name="Branch" captionColumn="BRANCH_NAME" uniqueMembers="true" type="Integer" >
<Annotations>
<Annotation name="uniqueMembers">true</Annotation>
</Annotations>
</Level>
</Hierarchy>
</Dimension>
答案 0 :(得分:0)
试试这个XML代码段:
<Annotation>
< uniqueMembers>true< /uniqueMembers>
</Annotation>
答案 1 :(得分:0)
正如目前所写的那样,你在那里展示的课程需要像
这样的课程<Annotation name="something">
<value>the value</value>
</Annotation>
要摆脱<value>
元素并使用<Annotation>
元素的内容,您需要使用ToAttributedValueConverter
,this blog post有详细信息,但基本上您需要添加
@XStreamConverter(value=ToAttributedValueConverter.class, strings={"value"})
作为Annotation
类的类级注释。