2013-07-15 2 views
0

에 의해 XML에서 요소의 값을 읽을 수가 없어 그리고 난이 XML내가 다음과 같은 XML이 XStream을

<Annotation name="uniqueMembers">true</Annotation> 

및 주석에 대한 클래스 구문 분석하는 XStream을을 사용 : 내가 필요

@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; 
} 
} 

에게 값은이 태그의 "true"를 가지고 있지만 난

xStream.fromXML("myXml.xml"); 

를 호출 할 때 그것은 null 값 이유가? 이 태그의 "사실"을 어떻게 얻을 수 있습니까?

편집 : 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

여기서 myXml.xml을 붙여 넣을 수 있습니까? – rahulserver

+0

의 크고 목적을 많이 가지고 있지만 무사 내가 너무 나를 위해 작동 답을 발견 – sami

+0

을 다하겠습니다 sami

답변

0

, 당신은이 도시 한 클래스를 기대하고 뭔가

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

<value> 요소를 제거하고을 사용하려면요소의 내용은, 당신은 ToAttributedValueConverter, this blog post가 세부 사항을 가지고 사용해야하지만, 기본적으로 당신은 당신의 Annotation 클래스에 클래스 수준의 주석으로

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

를 추가해야합니다.

+0

네가 맞다.하지만 태그는 필요 없다 ... 그것 없이도 작동한다. – sami

0

의 부분이 XML 조각보십시오 : 순간에 서면으로

<Annotation> 
    < uniqueMembers>true< /uniqueMembers> 
</Annotation> 
+0

태그를 변경할 수 없습니다. – sami