I think the additional check can fix it
public String parseContentDepth(XmlPullParser parser, int depth) throws XmlPullParserException, IOException {
StringBuffer content = new StringBuffer();
while (!(parser.next() == XmlPullParser.END_TAG && parser.getDepth() == depth) && parser.getEventType() != XmlPullParser.END_DOCUMENT) {
content.append(parser.getText());
}
return content.toString();
}