public void endElement(String uri, String localName, String qName) { // if end tag is one of below then set inXYZ to false if (qName.equals("ListenerDescriptions")) { inListenerDescriptions = false; } else if (qName.equals("AppCookieStickinessPolicies")) { inAppCookieStickinessPolicies = false; } else if (qName.equals("LBCookieStickinessPolicies")) { inLBCookieStickinessPolicies = false; } else if (qName.equals("LoadBalancerDescriptions")) { inLoadBalancerDescriptions = false; } else if (qName.equals("Instances")) { inInstances = false; } else if (qName.equals("AvailabilityZones")) { inAvailabilityZones = false; } if (qName.equals("DNSName")) { elb.setDnsName(currentText.toString().trim()); } else if (qName.equals("LoadBalancerName")) { elb.setName(currentText.toString().trim()); } else if (qName.equals("InstanceId")) { elb.getInstanceIds().add(currentText.toString().trim()); } else if (qName.equals("member")) { if (inAvailabilityZones) { elb.getAvailabilityZones().add(currentText.toString().trim()); } else if (!(inListenerDescriptions || inAppCookieStickinessPolicies || inInstances || inLBCookieStickinessPolicies || inAvailabilityZones)) { try { String region = AWSUtils.findRegionInArgsOrNull(getRequest()); elb.setRegion(region); contents.add(elb); } catch (NullPointerException e) { logger.warn(e, "malformed load balancer: %s", localName); } this.elb = null; } } currentText = new StringBuilder(); }