Java 解析xml时出现Spring框架异常
我在android应用程序的asynctask中解析xml时遇到问题。我得到错误,无法读取参数。我使用简单的xml框架来编组对象Java 解析xml时出现Spring框架异常,java,android,spring,xml-serialization,Java,Android,Spring,Xml Serialization,我在android应用程序的asynctask中解析xml时遇到问题。我得到错误,无法读取参数。我使用简单的xml框架来编组对象 import org.simpleframework.xml.Element; import org.simpleframework.xml.Root; @Root public class SettingService { @Element String ID; @Element String FaceBook; @Element String Twitter;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
@Root
public class SettingService {
@Element
String ID;
@Element
String FaceBook;
@Element
String Twitter;
@Element
String AndroidSplash;
@Element
String ContactUsAR;
@Element
String YouTube;
@Element
String SplashLink;
public String getID() {
return ID;
}
public void setID(String iD) {
ID = iD;
}
public String getFaceBook() {
return FaceBook;
}
public void setFaceBook(String faceBook) {
FaceBook = faceBook;
}
public String getTwitter() {
return Twitter;
}
public void setTwitter(String twitter) {
Twitter = twitter;
}
public String getAndroidSplash() {
return AndroidSplash;
}
public void setAndroidSplash(String androidSplash) {
AndroidSplash = androidSplash;
}
public String getContactUsAR() {
return ContactUsAR;
}
public void setContactUsAR(String contactUsAR) {
ContactUsAR = contactUsAR;
}
public String getYouTube() {
return YouTube;
}
public void setYouTube(String youTube) {
YouTube = youTube;
}
public String getSplashLink() {
return SplashLink;
}
public void setSplashLink(String splashLink) {
SplashLink = splashLink;
}
}
这是包装类
import java.util.ArrayList;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Root;
import com.blaaa.model.SettingService;
@Root (name = "settings")
public class SettingList {
@ElementList(inline = true)
private ArrayList<SettingService> mSettingList;
public ArrayList<SettingService> getSettingList() {
return mSettingList;
}
public void setSettingList(ArrayList<SettingService> mSettingList) {
this.mSettingList = mSettingList;
}
import java.util.ArrayList;
导入org.simpleframework.xml.ElementList;
导入org.simpleframework.xml.Root;
导入com.blaaa.model.SettingService;
@Root(name=“settings”)
公共类设置列表{
@ElementList(inline=true)
私有数组列表mSettingList;
公共阵列列表getSettingList(){
返回mSettingList;
}
公共无效设置设置列表(ArrayList mSettingList){
this.mSettingList=mSettingList;
}
}
这就是我在asynctask后台所做的
@Override
protected ResponseEntity<SettingList> doInBackground(String... params) {
try {
if (isCancelled()) {
return null;
}
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAccept(Collections
.singletonList(new MediaType("application", "xml")));
HttpEntity<?> requestEntity = new HttpEntity<Object>(
requestHeaders);
RestTemplate mRestTemplate = new RestTemplate();
mRestTemplate.getMessageConverters().add(
new SimpleXmlHttpMessageConverter());
ResponseEntity<SettingList> mResponseEntity = mRestTemplate
.exchange(params[0], HttpMethod.GET, requestEntity,
SettingList.class);
responseStatus = mResponseEntity.getStatusCode();
} catch (Exception e) {
Log.e(TAG, e.getMessage(), e);
}
return null;
}
@覆盖
受保护的响应性doInBackground(字符串…参数){
试一试{
如果(isCancelled()){
返回null;
}
HttpHeaders requestHeaders=新的HttpHeaders();
requestHeaders.setAccept(集合
.singletonList(新媒体类型(“应用程序”、“xml”));
HttpEntity requestEntity=新HttpEntity(
请求头);
RestTemplate mRestTemplate=新建RestTemplate();
mRestTemplate.getMessageConverters().add(
新的SimpleXmlHttpMessageConverter());
ResponseEntity mrResponseEntity=mRestTemplate
.exchange(参数[0],HttpMethod.GET,requestEntity,
设置列表(类);
responseStatus=mResponseEntity.getStatusCode();
}捕获(例外e){
Log.e(标记,e.getMessage(),e);
}
返回null;
}
这就是我分析的内容
<SettingService xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://blaaaa.com/">
<ID>1</ID>
<FaceBook>FaceBook</FaceBook>
<Twitter>Twitter</Twitter>
<IPhoneSplash>
http://saudigate.blaaaa.info/Files/Splash/Thumb/dabbd187-3ea1-4c95-a8a2-debd9736d53e.jpg
</IPhoneSplash>
<AndroidSplash>
http://saudigate.blaaaa.info/Files/Splash/dabbd187-3ea1-4c95-a8a2-debd9736d53e.jpg
</AndroidSplash>
<ContactUsAR>
<div><span style="color: red;">Contact Us </span></div><div><img alt="" src="/uploads/Lighthouse.jpg" height="150" width="201" /> </div>
</ContactUsAR>
<ContactUsEN/>
<YouTube>YouTube</YouTube>
<SplashLink>http://www.blaaaa.com</SplashLink>
</SettingService>
1.
脸谱网
啁啾
http://saudigate.blaaaa.info/Files/Splash/Thumb/dabbd187-3ea1-4c95-a8a2-debd9736d53e.jpg
http://saudigate.blaaaa.info/Files/Splash/dabbd187-3ea1-4c95-a8a2-debd9736d53e.jpg
联系我们
YouTube
http://www.blaaaa.com
看起来您正在解析的XML只包含一个设置服务。它应该包含它们的列表,作为外部标记,包含一组
它正在尝试将XML解析到提供的对象中,但设置类不包含ID,只有设置服务包含ID。您也应该粘贴异常/错误消息。这是Exeception MSG::org.springframework.http.converter.httpMessageNodeTableException:无法读取[class packagename.List.SettingList];嵌套异常为org.simpleframework.xml.core.ElementException:元素“ID”在第3行的packagename.lists.SettingList类中没有匹配项