in src/main/java/com/aliyun/oss/internal/ResponseParsers.java [1277:1350]
public static ObjectListing parseListObjects(InputStream responseBody) throws ResponseParseException {
try {
Element root = getXmlRootElement(responseBody);
ObjectListing objectListing = new ObjectListing();
objectListing.setBucketName(root.getChildText("Name"));
objectListing.setMaxKeys(Integer.valueOf(root.getChildText("MaxKeys")));
objectListing.setTruncated(Boolean.valueOf(root.getChildText("IsTruncated")));
if (root.getChild("Prefix") != null) {
String prefix = root.getChildText("Prefix");
objectListing.setPrefix(isNullOrEmpty(prefix) ? null : prefix);
}
if (root.getChild("Marker") != null) {
String marker = root.getChildText("Marker");
objectListing.setMarker(isNullOrEmpty(marker) ? null : marker);
}
if (root.getChild("Delimiter") != null) {
String delimiter = root.getChildText("Delimiter");
objectListing.setDelimiter(isNullOrEmpty(delimiter) ? null : delimiter);
}
if (root.getChild("NextMarker") != null) {
String nextMarker = root.getChildText("NextMarker");
objectListing.setNextMarker(isNullOrEmpty(nextMarker) ? null : nextMarker);
}
if (root.getChild("EncodingType") != null) {
String encodingType = root.getChildText("EncodingType");
objectListing.setEncodingType(isNullOrEmpty(encodingType) ? null : encodingType);
}
List<Element> objectSummaryElems = root.getChildren("Contents");
for (Element elem : objectSummaryElems) {
OSSObjectSummary ossObjectSummary = new OSSObjectSummary();
ossObjectSummary.setKey(elem.getChildText("Key"));
ossObjectSummary.setETag(trimQuotes(elem.getChildText("ETag")));
ossObjectSummary.setLastModified(DateUtil.parseIso8601Date(elem.getChildText("LastModified")));
ossObjectSummary.setSize(Long.valueOf(elem.getChildText("Size")));
ossObjectSummary.setStorageClass(elem.getChildText("StorageClass"));
ossObjectSummary.setRestoreInfo(elem.getChildText("RestoreInfo"));
ossObjectSummary.setBucketName(objectListing.getBucketName());
if (elem.getChild("Type") != null) {
ossObjectSummary.setType(elem.getChildText("Type"));
}
String id = elem.getChild("Owner").getChildText("ID");
String displayName = elem.getChild("Owner").getChildText("DisplayName");
ossObjectSummary.setOwner(new Owner(id, displayName));
objectListing.addObjectSummary(ossObjectSummary);
}
List<Element> commonPrefixesElems = root.getChildren("CommonPrefixes");
for (Element elem : commonPrefixesElems) {
String prefix = elem.getChildText("Prefix");
if (!isNullOrEmpty(prefix)) {
objectListing.addCommonPrefix(prefix);
}
}
return objectListing;
} catch (JDOMParseException e) {
throw new ResponseParseException(e.getPartialDocument() + ": " + e.getMessage(), e);
} catch (Exception e) {
throw new ResponseParseException(e.getMessage(), e);
}
}