zoukankan      html  css  js  c++  java
  • Android自定义xml解析

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <Users>
            <User 
                name="jason" 
                age="12" 
                location="Beijing"/>
    
            <User 
                name="peter" 
                age="18" 
                location="Shanghai"/>
                
        </Users>
    </resources>
        /**
         * (从XML配置文件获取第三方模块的属性) 
         * @param fragmentActivity activity
         * @param xmlID xml文件的ID
         * @return List<User> 
         * @throws XmlPullParserException
         * @throws IOException
         */
        public static List<User> getUsersFromXML(FragmentActivity fragmentActivity, int xmlID)
                throws XmlPullParserException, IOException {
    
            XmlResourceParser xmlParser = fragmentActivity.getResources().getXml(xmlID);
    
            List<User> users = new ArrayList<User>();
    
            int eventType = xmlParser.getEventType();
    
            //不是文件结尾就继续解析
            while (eventType != XmlResourceParser.END_DOCUMENT) {
    
                switch (eventType) {
                    
                  //文件的内容的起始标签开始,注意这里的起始标签是ThirdPartyUsers.xml文件
                    //里面<ThirdPartyUsers>标签下面的第一个标签ThirdPartyUser    
                    case XmlResourceParser.START_TAG:
                        String tagName = xmlParser.getName();
                        if (tagName.endsWith("ThirdPartyUser")) {
                            User user = new User();
                            user.user = xmlParser.getAttributeValue(null, "name");
                            user.age = xmlParser.getAttributeValue(null, "age");
                            user.location = xmlParser.getAttributeValue(null, "location");
                            users.add(user) ;
                        }
                        break;
    
                    case XmlResourceParser.END_TAG:
                        break;
    
                    case XmlResourceParser.TEXT:
                        break;
                    default:
                        break;
                }
                eventType= xmlParser.next() ;
            }
            xmlParser.close() ;
            
            return users;
        }
  • 相关阅读:
    如何测得存储空间大小
    打印阿斯科码 和 打印字符
    正常血压
    c语言知识(1)
    子组件和父组件
    RESTful风格API
    django APIview使用
    django 基础
    npm install异常error code EPERM
    springsecurity 多httpsecurity配置
  • 原文地址:https://www.cnblogs.com/jasonkent27/p/4694929.html
Copyright © 2011-2022 走看看