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();
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容