コード例 #1
0
ファイル: read_odf.c プロジェクト: skm42/opendias
char *xmlToText(char *xml, size_t size) {

  char *text="";

  xmlDocPtr doc = xmlParseMemory(xml, (int)size);
  xmlNodePtr root = xmlDocGetRootElement(doc);
  xmlAllNodeGetContent(root, &text);

  return text;
}
コード例 #2
0
ファイル: odf_plug.c プロジェクト: Rventric/opendias
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;
}
コード例 #3
0
ファイル: read_odf.c プロジェクト: skm42/opendias
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;
  }
}