Android 读取XML的两种方法。
16lz
2021-01-23
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 - 字符串的加密和解密
- android设置字符串到剪贴板
- Android对Window对象的管理机制分析
- Android 取得对话框中EditText的字符串
- android 5.0之后利用Intent传递Serializable对象存在问题
- android工程字符串多语言翻译遗漏查找工具
- android bundle 对象 序列化