Android(安卓)读取XML的两种方法。
16lz
2022-06-18
SAX
SAXParserFactoryfactory=SAXParserFactory.newInstance();//通过工厂对象得到一个解析器对象SAXParserparser=factory.newSAXParser();//通过parser得到XMLReader对象XMLReaderreader=parser.getXMLReader();//为reader对象注册事件处理接口ParseXmlSAXhandler=newParseXmlSAX();reader.setContentHandler(handler);//解析指定XML字符串对象reader.parse(newInputSource());
XmlResourceParser
XmlResourceParserxml=this.getResources().getXml(R.xml.user);users=this.getUserInfo(xml);
xml文件放在 res/xml/路径下
privateArrayList<User>getUserInfo(XmlResourceParserxml){ArrayList<User>users=newArrayList<User>();Useruser=null;try{while(xml.getEventType()!=XmlResourceParser.END_DOCUMENT){if(xml.getEventType()==XmlResourceParser.START_TAG){Stringtagname=xml.getName();if(tagname.endsWith("user")){user=newUser();user.setId(Integer.parseInt(xml.getAttributeValue(null,"id")));user.setName(xml.getAttributeValue(null,"name"));user.setPassword(xml.getAttributeValue(null,"password"));users.add(user);}}//下面的两个elseif什么作用呢?elseif(xml.getEventType()==XmlResourceParser.END_TAG){}elseif(xml.getEventType()==XmlResourceParser.TEXT){}xml.next();}//程序细节注意的地方,StringBuilder要条用toString()方法,不要粗心忘记了}catch(XmlPullParserExceptione){returnnull;}catch(IOExceptione){//TODOAuto-generatedcatchblockreturnnull;}returnusers;}
更多相关文章
- Android(安卓)解析CSV文件,中文乱码
- android ImagView缩放方法之一(Bitmap)
- Android(安卓)Bundle类
- android 主线程与分线程 做同步
- android_常用UI控件_02_EditText_01添加图片到edittext中
- Android(安卓)关于wifi管理的代码
- android Pull解析xml 使用小结
- Android(安卓)GPS获得经纬度并得到该坐标精确地址
- 【Android】获取apk的版本及包名等信息