android xml解析
public String func(String string, String name, String country) { if (TextUtils.isEmpty(string) || TextUtils.isEmpty(name)) { return Constant.EMPTY_STRING; } String curCountry = country; if (TextUtils.isEmpty(country)) { curCountry = "en"; } String result = Constant.EMPTY_STRING; ByteArrayInputStream inputStream = null; try { XmlPullParserFactory pullParserFactory = XmlPullParserFactory.newInstance(); XmlPullParser parser = pullParserFactory.newPullParser(); inputStream = new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8)); parser.setInput(inputStream, null); int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { switch (eventType) { case XmlPullParser.START_TAG: String tagName = parser.getName(); if (!STRING_NODE.equals(tagName)) { break; } String nameVal = parser.getAttributeValue(null, "name"); String countryVal = parser.getAttributeValue(null, "lang"); if (!nameVal.equals(name) || !countryVal.equals(curCountry)) { break; } // 对于没有属性的标签,直接用nextText获取其文字 result = parser.nextText(); // int eventType2 = parser.next(); // 这两句等于上面一句 // result = parser.getText(); return result; case XmlPullParser.END_TAG: // 终止标签</XXX> break; default: break; } eventType = parser.next(); } } catch (XmlPullParserException | IOException e) { Log.w(TAG, "parse " + string + " failed"); } finally { closeSilently(inputStream); } return result; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端