diff options
-rw-r--r-- | mxml.c | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -3,7 +3,42 @@ #include <mxml.h> +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; } |