0

我有一个像下面这样的 XML,我使用 XStream 来解析这个 XML

<Annotation name="uniqueMembers">true</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>
4

2 回答 2

0

试试这个 XML 片段:

<Annotation>
    < uniqueMembers>true< /uniqueMembers>
</Annotation>
于 2013-07-15T06:21:12.850 回答
0

正如目前所写,您在那里展示的课程期望类似

<Annotation name="something">
  <value>the value</value>
</Annotation>

要摆脱<value>元素并仅使用<Annotation>元素的内容,您需要使用 a ToAttributedValueConverter此博客文章有详细信息,但本质上您需要添加

@XStreamConverter(value=ToAttributedValueConverter.class, strings={"value"})

作为班级的班级注释Annotation

于 2013-07-15T07:51:56.267 回答