Esempio n. 1
0
void oss_list_objects_content_parse(aos_pool_t *p, xmlNodePtr xml_node, oss_list_object_content_t *content)
{
    char *key;
    char *last_modified;
    char *etag;
    char *size;

    while (xml_node) {
        xmlChar *node_content = xmlNodeGetContent(xml_node);
        if (apr_strnatcasecmp((char *)xml_node->name, "Key") == 0) {
            key = apr_pstrdup(p, (char *)node_content);
            aos_str_set(&content->key, key);
        } else if (apr_strnatcasecmp((char *)xml_node->name, "LastModified") == 0) {
            last_modified = apr_pstrdup(p, (char *)node_content);
            aos_str_set(&content->last_modified, last_modified);
        } else if (apr_strnatcasecmp((char *)xml_node->name, "ETag") == 0) {
            etag = apr_pstrdup(p, (char *)node_content);
            aos_str_set(&content->etag, etag);
        } else if (apr_strnatcasecmp((char *)xml_node->name, "Size") == 0) {
            size = apr_pstrdup(p, (char *)node_content);
            aos_str_set(&content->size, size);
        } else if (apr_strnatcasecmp((char *)xml_node->name, "Owner") == 0) {
            oss_list_objects_owner_parse(p, xml_node, content);
        }
        xmlFree(node_content);
        xml_node = xml_node->next;
    }
}
Esempio n. 2
0
void oss_list_objects_content_parse(aos_pool_t *p, mxml_node_t *xml_node, oss_list_object_content_t *content)
{
    char *key;
    char *last_modified;
    char *etag;
    char *size;
    char *node_content;
    mxml_node_t *node;

    node = mxmlFindElement(xml_node, xml_node, "Key", NULL, NULL, MXML_DESCEND);
    if (NULL != node) {
        node_content = node->child->value.opaque;
        key = apr_pstrdup(p, (char *)node_content);
        aos_str_set(&content->key, key);
    }

    node = mxmlFindElement(xml_node, xml_node, "LastModified", NULL, NULL, MXML_DESCEND);
    if (NULL != node) {
        node_content = node->child->value.opaque;
        last_modified = apr_pstrdup(p, (char *)node_content);
        aos_str_set(&content->last_modified, last_modified);
    }

    node = mxmlFindElement(xml_node, xml_node, "ETag", NULL, NULL, MXML_DESCEND);
    if (NULL != node) {
        node_content = node->child->value.opaque;
        etag = apr_pstrdup(p, (char *)node_content);
        aos_str_set(&content->etag, etag);
    }

    node = mxmlFindElement(xml_node, xml_node, "Size", NULL, NULL, MXML_DESCEND);
    if (NULL != node) {
        node_content = node->child->value.opaque;
        size = apr_pstrdup(p, (char *)node_content);
        aos_str_set(&content->size, size);
    }

    node = mxmlFindElement(xml_node, xml_node, "Owner", NULL, NULL, MXML_DESCEND);
    if (NULL != node) {
        oss_list_objects_owner_parse(p, node, content);
    }
}