android刚入门,代码报错,请大家指引一下。
xml文件解析报错:如下信息
org.xmlpull.v1.XmlPullParserException: version expected (position:unknown @1 :38 in java.io.InputStreamReader@40d14740)
package service;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import android.util.Xml;
import domain.Person;
public class PersonService {
//static方法 ,不需要用到成员变量
public static List<Person> getPersons(InputStream xml) throws Exception{
List<Person> persons=null;
Person person=null;
XmlPullParser pullParser=Xml.newPullParser();
pullParser.setInput(xml, "UTF-8");
int event=pullParser.getEventType();
while(event!=XmlPullParser.END_DOCUMENT){
switch (event) {
case XmlPullParser.START_DOCUMENT:
persons=new ArrayList<Person>();
break;
case XmlPullParser.START_TAG:
if("person".equals(pullParser.getName())){
int id=Integer.parseInt(pullParser.getAttributeValue(0));
person=new Person();
person.setId(id);
}
if("name".equals(pullParser.getName())){
String name=pullParser.nextText();
person.setName(name);
}
if("age".equals(pullParser.getName())){
int age=Integer.parseInt(pullParser.nextText());
person.setAge(age);
}
break;
case XmlPullParser.END_TAG:
if("person".equals(pullParser.getName())){
persons.add(person);
person=null;
}
break;
}
event=pullParser.next(); //单元测试时,这一行报错
}
return persons;
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
1.必须确保应用已经添加了网络通信权限
<uses-permissionandroid:name="android.permission.INTERNET"/>
2.soap请求的URL中的HOST部分不要使用ip地址,使用域名
3. SoapSerializationEnvelopeenvelope=newSoapSerializationEnvelope(SoapEnvelope.VER11);
中的SOAPVER要和服务端对应,也可以低于服务端,但是不能高于服务端。
朋友,谢谢。只是解析本地自己创建一个xml文件呢,还没接触网络,服务器等相关知识。。这个我之前遇到过,是Android低版本中的一个Bug,高版本中修复了。建议你使用:
//利用XmlPullParser解析器工厂产生一个实例
XmlPullParserFactoryfactory=XmlPullParserFactory.newInstance();
就没问题了。
检查一下你的xml文件格式,文件开头不能有空行或者空格