char *xmlToText(char *xml, size_t size) { char *text=""; xmlDocPtr doc = xmlParseMemory(xml, (int)size); xmlNodePtr root = xmlDocGetRootElement(doc); xmlAllNodeGetContent(root, &text); return text; }
char *xmlToText(char *xml, size_t size) { char *text = o_strdup(""); xmlDocPtr doc = xmlParseMemory(xml, (int)size); xmlNodePtr root = xmlDocGetRootElement(doc); xmlAllNodeGetContent(root, &text); xmlFreeDoc(doc); xmlCleanupParser(); return text; }
void xmlAllNodeGetContent(xmlNode *parent, char **str) { xmlNode *node = parent->children; //childs; char *text; while(node != 0) { if (node->type == XML_TEXT_NODE) { text = o_printf("%s ", (char *)xmlNodeGetContent(node)); conCat(str, text); free(text); } xmlAllNodeGetContent(node, str); node = node->next; } }