Example #1
0
void oss_list_multipart_uploads_contents_parse(aos_pool_t *p, xmlDocPtr doc, const char *xml_path,
    aos_list_t *upload_list)
{
    int i = 0;
    xmlNodePtr cur_node;
    xmlNodeSetPtr nodeset = NULL;
    oss_list_multipart_upload_content_t *content;
    xmlChar *xpath;
    xmlXPathObjectPtr result;

    xpath = (xmlChar*) xml_path;
    result = get_nodeset(doc, xpath);
    if (result == NULL)  {
        return;
    }

    nodeset = result->nodesetval;

    for ( ; i < nodeset->nodeNr; ++i) {
        content = oss_create_list_multipart_upload_content(p);
        cur_node = nodeset->nodeTab[i]->xmlChildrenNode;
        oss_list_multipart_uploads_content_parse(p, cur_node, content);
        aos_list_add_tail(&content->node, upload_list);
    }

    xmlXPathFreeObject(result);
}
Example #2
0
void oss_list_multipart_uploads_contents_parse(aos_pool_t *p, mxml_node_t *root, const char *xml_path,
    aos_list_t *upload_list)
{
    mxml_node_t *content_node;
    oss_list_multipart_upload_content_t *content;

    content_node = mxmlFindElement(root, root, xml_path, NULL, NULL, MXML_DESCEND);
    for ( ; content_node != NULL; ) {
        content = oss_create_list_multipart_upload_content(p);
        oss_list_multipart_uploads_content_parse(p, content_node, content);
        aos_list_add_tail(&content->node, upload_list);
        content_node = mxmlFindElement(content_node, root, xml_path, NULL, NULL, MXML_DESCEND);
    }
}