ull解析XML文件的方式与SAX解析XML文件的方式大致相同,他们都是基于事件驱动的。所以,利用pull解析XML文件需要下面几个步骤:
1)通过XMLPullParserFactory获取XMLPullParser对象。
2)通过XMLPullParser对象设置输入流。
3)通过parser.next(),持续的解析XML文件直到文件的尾部。
下面的几个方法是经常需要的:XMLPullParserFacotry.newInstance( ) facotry.newPullParser( ) parser.setInput( ) parser.next( ).
下面通过一个例子描述上面的几个步骤:
//1.第一步,创建解析工厂 XmlPullParserFactoryfactory=XmlPullParserFactory.newInstance(); //设置支持命名空间 factory.setNamespaceAware(true); //2.生成parser对象 XmlPullParserparser=factory.newPullParser(); //3.设置输入 parser.setInput(newStringReader("<?xmlversion=\"1.0\"?><poem><title>静夜思</title><author>李白</author><content>床前明月光,疑似地上霜,举头忘明月,低头思故乡</content></poem>")); //获取输入类型 inteventType=parser.getEventType(); while(eventType!=XmlPullParser.END_DOCUMENT) { if(eventType==XmlPullParser.START_DOCUMENT){ Log.d("tag","----"+parser.getName()); } if(eventType==XmlPullParser.START_TAG){ Log.d("tag","----"+parser.getName()); } if(eventType==XmlPullParser.TEXT){ Log.d("tag","----"+parser.getText()); } if(eventType==XmlPullParser.END_TAG){ Log.d("tag","----"+parser.getName()); } //不断的去更新 eventType=parser.next(); }
打印出的对象:
原文链接:https://www.f2er.com/xml/295988.html