I would write the simplest parser based on SAX like this (it is written on my knees, so please do not throw tomatoes!)
factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(false); xpp = factory.newPullParser(); StringReader sw=new StringReader(s); //s содержит ваш XML xpp.setInput(sw); //подаем на вход парсера int eventType = xpp.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_TAG) //начальный тег { inBuilding=false; if(xpp.getName().compareTo("status")==0) code = xpp.getAttributeValue(null, "code"); //читаем атрибут code else if(xpp.getName().compareTo("building")==0) { number = xpp.getAttributeValue(null, "number"); part = xpp.getAttributeValue(null, "part"); url = xpp.getAttributeValue(null, "url"); inBuilding=true; } } else if(eventType==XmlPullParser.TEXT) { if(inBuilding) //если мы внутри тега building buildingValue=xpp.getText(); } eventType=xpp.next(); }
Naturally, the values of attributes, fields, and so on. after reading it is necessary to add somewhere. Well, you're already there yourself further :)