xml解析

前端之家收集整理的这篇文章主要介绍了xml解析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
public@H_403_9@ class@H_403_9@ MainActivity extends@H_403_9@ AppCompatActivity {
    @H_403_9@private@H_403_9@ RequestQueue queues ;

    ImageView imageView;
    String xml @H_403_9@= "<apps>\n" +
            "  <app>\n" +
            "    <id>1</id>\n" +
            "    <name>Google maps</name>\n" +
            "    <version>1.0</version>\n" +
            "  </app>\n" +
            "  <app>\n" +
            "     <id>2</id>\n" +
            "     <name>chrome</name>\n" +
            "     <version>2.1</version>\n" +
            "  </app>\n" +
            "  <app>\n" +
            "     <id>3</id>\n" +
            "     <name>google play</name>\n" +
            "     <version>3.1</version>\n" +
            "  </app> \n" +
            "</apps>";
    @Override
    @H_403_9@protected@H_403_9@ void@H_403_9@ onCreate(Bundle savedInstanceState) {
        @H_403_9@super@H_403_9@.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView @H_403_9@= (ImageView) findViewById(R.id.image);
        parseXMLWithPull(xml);
    }
    @H_403_9@private@H_403_9@ void@H_403_9@ parseXMLWithPull(String xmlData){
        @H_403_9@try@H_403_9@ {
            XmlPullParserFactory factory @H_403_9@= XmlPullParserFactory.newInstance();
            XmlPullParser xmlPullParser @H_403_9@= factory.newPullParser();
            @H_403_9@//@H_403_9@设置输入的内容@H_403_9@
            xmlPullParser.setInput(new@H_403_9@ StringReader(xmlData));
            @H_403_9@//@H_403_9@获取当前解析事件,返回的是数字@H_403_9@
            int@H_403_9@ eventType = xmlPullParser.getEventType();
            @H_403_9@//@H_403_9@保存内容@H_403_9@
            String id = "";
            String name @H_403_9@= "";
            String version@H_403_9@="";
            @H_403_9@while@H_403_9@ (eventType != (XmlPullParser.END_DOCUMENT)){
                String nodeName @H_403_9@= xmlPullParser.getName();
                @H_403_9@switch@H_403_9@ (eventType){
                    @H_403_9@//@H_403_9@开始解析XML@H_403_9@
                    case@H_403_9@ XmlPullParser.START_TAG:{
                        @H_403_9@//@H_403_9@nextText()用于获取结点内的具体内容@H_403_9@
                        if@H_403_9@("id".equals(nodeName))
                            id @H_403_9@= xmlPullParser.nextText();
                        @H_403_9@else@H_403_9@ if@H_403_9@("name".equals(nodeName))
                            name @H_403_9@= xmlPullParser.nextText();
                        @H_403_9@else@H_403_9@ if@H_403_9@("version".equals(nodeName))
                            version @H_403_9@= xmlPullParser.nextText();
                    } @H_403_9@break@H_403_9@;
                    @H_403_9@//@H_403_9@结束解析@H_403_9@
                    case@H_403_9@ XmlPullParser.END_TAG:{
                        @H_403_9@if@H_403_9@("app".equals(nodeName)){
                            Log.d(@H_403_9@"输出:","parseXMLWithPull: id is "+ id);
                            Log.d(@H_403_9@"输出:","parseXMLWithPull: name is "+ name);
                            Log.d(@H_403_9@"输出:","parseXMLWithPull: version is "+ version);
                        }
                    } @H_403_9@break@H_403_9@;
                    @H_403_9@default@H_403_9@: break@H_403_9@;
                }
                @H_403_9@//@H_403_9@下一个@H_403_9@
                eventType = xmlPullParser.next();
            }
        } @H_403_9@catch@H_403_9@ (Exception e) {
            e.printStackTrace();
        }
    }
}@H_403_9@

使用的是pull解析,安卓官方推荐的解析方法

猜你在找的XML相关文章