2013-03-29 1 views
5

Simple-XML-framework를 사용하려고합니다.ValueRequired 예외 Simple-XML-Framework 사용 중

Company.java :

package com.example.xmlparsing; 

import java.util.List; 

import org.simpleframework.xml.ElementList; 
import org.simpleframework.xml.Root; 

@Root 
public class Company { 

@ElementList 
public List<Emp> Employees; 

} 

EMP를 다음과 같이

<?xml version="1.0" encoding="utf-8"?> 
<Company> 
<Emp> 
    <Name>Venkat</Name> 
    <ID>661511</ID> 
</Emp> 
<Emp> 
    <Name>Shiv</Name> 
    <ID>661311</ID> 
</Emp> 
</Company> 

내 주석 클래스

은 다음과 같습니다 그러나 나는 다음과 같은 내용을 ValueRequiredException

org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.ElementList(data=false, empty=true, entry=, inline=false, name=, required=true, type=void) on field 'Employees' public java.util.List com.example.xmlparsing.Company.Employees for class com.example.xmlparsing.Company at line 2 

내 XML 파일이 무엇입니까 .java :

package com.example.xmlparsing; 

import org.simpleframework.xml.Element; 
import org.simpleframework.xml.Root; 
import org.simpleframework.xml.Text; 

@Element(name="Emp") 
public class Emp { 

@Element 
public String Name; 

@Element 
public String ID; 


} 

무엇이 문제 일 수 있습니까? 그것을 고치는 방법?

답변

9

두 가지 코드에 잘못이 있습니다

첫째, 당신은 Emp 클래스에서 @Root() 대신 @Element 필요 당신이 목록을 사용하는 경우,

@Root(name="Emp") 
public class Emp { 

@Element 
public String Name; 

@Element 
public String ID; 


} 

둘째 그 방법 :

@Root 
public class Company { 

@ElementList 
public List<Emp> Employees; 

} 

다른 XML 태그로 묶여 있습니다.
xxxx을 변경하거나 @ElementList(inline = true)을 사용하면됩니다.