#include <stdio.h>
#include <malloc.h>
+
#include "xml.h"
void print_xml(void *);
void *rid;
rid = xmlOpen(argv[1]);
- if (rid)
+ if (xmlErrorGetNo(rid, 0) != XML_NO_ERROR)
+ {
+ printf("%s\n", xmlErrorGetString(rid, 1));
+ }
+ else if (rid)
{
unsigned int i, num;
void *xid;
num = xmlNodeGetNum(xid, "*");
if (num == 0)
{
- char value[256];
- int q;
-
- q = xmlCopyString(xid, (char *)&value, 256);
- if (q) printf("%s", value);
+ char *s;
+ s = xmlGetString(xid);
+ if (s)
+ {
+ printf("%s", s);
+ free(s);
+ }
}
else
{
if (xmlNodeGetPos(id, xid, "*", i) != 0)
{
char name[256];
+ int r;
xmlNodeCopyName(xid, (char *)&name, 256);
printf("\n");
for(q=0; q<level; q++) printf(" ");
printf("<%s>", name);
-
level++;
print_xml(xid);
level--;
-
printf("</%s>", name);
}
else printf("error\n");