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;
        }
  • 相关阅读:
    348. Design Tic-Tac-Toe
    347. Top K Frequent Elements
    346. Moving Average from Data Stream
    345. Reverse Vowels of a String
    343. Integer Break
    342. Power of Four
    341. Flatten Nested List Iterator
    340. Longest Substring with At Most K Distinct Characters
    339. Nested List Weight Sum
    Python(九) Python的高级语法与用法
  • 原文地址:https://www.cnblogs.com/jasonkent27/p/4694929.html
Copyright © 2011-2022 走看看