2 番目に XmlPullParser を使用します。これは非常に理解しやすいものです。
ここにあなたのケースのためのいくつかのコードがあります(テストされていません)
public void parser(InputStream is) {
XmlPullParserFactory factory;
try {
factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(is, null);
boolean currentConditions = false;
String curentCondition;
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) {
if (xpp.getName().equalsIgnoreCase("current_conditions")) {
currentConditions = true;
}
else if (xpp.getName().equalsIgnoreCase("condition") && currentConditions){
curentCondition = xpp.getAttributeValue(null,"Clear");
}
} else if (eventType == XmlPullParser.END_TAG) {
if (xpp.getName().equalsIgnoreCase("current_conditions"))
currentConditions = false;
} else if (eventType == XmlPullParser.TEXT) {
}
eventType = xpp.next();
}
} catch (Exception e) {
e.printStackTrace();
}
}