加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Android XmlPullParser的简单实施

发布时间:2021-11-25 17:08:16 所属栏目:PHP教程 来源:互联网
导读:Android XmlPullParser的简单应用 package lxy.litsoft; import java.io.IOException; import java.io.StringReader; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; im

Android XmlPullParser的简单应用
package lxy.litsoft;  
  
import java.io.IOException;  
import java.io.StringReader;  
import org.xmlpull.v1.XmlPullParser;  
import org.xmlpull.v1.XmlPullParserException;  
import org.xmlpull.v1.XmlPullParserFactory;  
import android.app.Activity;  
import android.os.Bundle;  
import android.util.Log;  
  
public class AppMain extends Activity{  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        try {  
            testParser();  
        } catch (XmlPullParserException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
      
    private void testParser()throws XmlPullParserException,IOException  
    {  
        /**XmlPullParserFactory: this class is used to create implementation of XML Pull Parser.**/  
        //XmlPullParserFactory这个类用于实现一个XML的解析器   
        /**newInstance(): Create a new instance of a PullParserFactory that can be used to create XML pull parsers .**/  
        //newInstance()方法用于实例化一个PullParserFactory对象,以便于创建XML解析器   
        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();  
          
        /**setNamespaceAware():Specifies that the parser produced by this factory will provide support for XML names paces.**/  
        //指定由XmlPullParserFactory对象产生的解析器能提供对XML命名空间的支持   
        factory.setNamespaceAware(true);  
          
        /**Creates a new instance of a XML Pull Parser using the currently configured factory features.**/  
        //用当前的XmlPullParserFactory实例化一个XmlPullParser对象   
        XmlPullParser xpp = factory.newPullParser();  
  
        /**Set the input source for parser to the given reader and resets the parser.**/  
        //为解析器输入源,源为一个StringReader对象   
        /**StringReader:A specialized Reader that reads characters from a String in a sequential manner. **/  
        //StringReader类是一个专门的阅读器,以顺序的方式从字符串里读取字符   
        xpp.setInput( new StringReader ( "<liu>I am Liuliu</liu><huo>Missing Huohuo</huo>" ) );  
          
        /**Returns the type of the current event (START_TAG, END_TAG, TEXT, etc.)**/  
        int eventType = xpp.getEventType();  
        while (eventType != XmlPullParser.END_DOCUMENT) {  
             if(eventType == XmlPullParser.START_DOCUMENT) {  
                 Log.d("test", "Start document");  
             } else if(eventType == XmlPullParser.END_DOCUMENT) {  
                 Log.d("test", "End document");  
             } else if(eventType == XmlPullParser.START_TAG) {  
                 Log.d("test", "Start tag: "+xpp.getName());  
             } else if(eventType == XmlPullParser.END_TAG) {  
                 Log.d("test", "End tag: "+xpp.getName());  
             } else if(eventType == XmlPullParser.TEXT) {  
                 Log.d("test", "Text: "+xpp.getText());  
             }  
             eventType = xpp.next();  
        }  
    }  
}  
输出结果:
 
Start document
 
Start tag: liu
 
Text:I am LIuliu
 
End tag: liu
 
Start tag: huo
 
Text: Missing Huohuo
 
End tag: huo

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读