Android解析XML格式字符串

  • Pull解析方式
    比如解析以下一段xml字符串:
<apps>
    <app>
        <name>Google Maps</name>
        <version>1.0</version>
    </app>
    <app>
        <name>Chrome</name>
        <version>2.1</version>
    </app>
</apps>

示例代码:

public void parseXMLWithPull(String xmlData) throws Exception{
    XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
    XmlPullParser parser = factory.newPullParser();
    parser.setInput(new StringReader(xmlData));
    int eventType = parser.getEventType();
    String name = "";
    String version = "";
    while (eventType != XmlPullParser.END_DOCUMENT) {
        String nodeName = parser.getName();
        switch (eventType) {
            // 开始解析某个结点
            case XmlPullParser.START_TAG: {
                if ("name".equals(nodeName)) {
                    name = parser.nextText();
                } else if ("version".equals(nodeName)) {
                    version = parser.nextText();
                }
                break;
            }
            // 完成解析某个结点
            case XmlPullParser.END_TAG: {
                if ("app".equals(nodeName)) {
                    Log.d("MainActivity", "name is " + name);
                    Log.d("MainActivity", "version is " + version);
                }
                break;
            }
            default:
                break;
        }
        eventType = parser.next();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容