[英]Xml deserialization ValueRequiredException
我正在反序列化一個Xml文件,它是:
<?xml version="1.0" encoding="utf-8"?>
<UserList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<UserLists>
<user>
<username>Salesman1</username>
<password>123</password>
<salesmanId>4</salesmanId>
</user>
</UserLists>
</UserList>
用這行拋出異常:
org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy @org.simpleframework.xml.ElementList(data=false, empty=true, entry=user, inline=true, name=, required=true, type=void) on field 'user' public java.util.List azdad.pos.android.UserList.user for class azdad.pos.android.UserList at line 2
我的實體類是:
import java.util.List;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Path;
import org.simpleframework.xml.Root;
@Root(name="UserList",strict=false)
public class UserList{
@ElementList(entry="user", inline=true)
public List<UserInfo> user;
public List<UserInfo> getUsrs(){
return user;
}
}
我用過
嚴格
忽略標簽根據此鏈接:
但它不起作用,有人知道我怎么能忽略 deserializng的標簽
我相信你要忽略的是<UserLists>
標簽對嗎? 您的問題來自使用inline
屬性(請參閱簡單XML內聯 ),您需要使用:
@Root(name="UserList")
public class UserList{
@ElementList(name="UserLists", entry="user")
public List<UserInfo> user;
public List<UserInfo> getUsers(){
return user;
}
}
那時不應該需要strict
屬性。
注意:我更正了getUsers()
的語法錯誤:因為Simple使用反射,這可能很重要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.