#include #include #include mxml_type_t type_cb(mxml_node_t *node) { const char *type; type = mxmlElementGetAttr(node, "type"); if (type == NULL) type = mxmlGetElement(node); if (!strcmp(type, "integer")) return (MXML_INTEGER); else if (!strcmp(type, "opaque")) return (MXML_OPAQUE) ; else if (!strcmp(type, "real")) return (MXML_REAL); else return (MXML_TEXT); } int process(FILE *f) { mxml_node_t *root; const char* elename; root = mxmlLoadFile(NULL, f, type_cb); elename = mxmlGetElement(root); if (elename) printf("%s\n", elename); } int main(int argc, char *argv[]) { FILE *f; for (int i = 0; i < argc; i++) { printf("%s\n", argv[i]); f = fopen(argv[i], "r"); process(f); fclose(f); } return 0; }