Quick and dirty...
Code:
char *tag_id = "id=\"";
char *tag_x = "x=\"";
char *tag_y = "y=\"";
char *tag_z = "z=\"";
typedef struct{
char node[10];
int x; int y; int z;
} graphJ_def;
graphJ_def graphJ[10];
int n = 0;
char *p;
// for every line input...
sscanf(strstr(tests, tag_id) + strlen(tag_id), "%s", graphJ[n].node);
graphJ[n].node[strlen(graphJ[n].node) - 1] = '\0'; // kill traling quote
sscanf(strstr(tests, tag_x) + strlen(tag_x), "%d", &graphJ[n].x);
sscanf(strstr(tests, tag_y) + strlen(tag_y), "%d", &graphJ[n].y);
sscanf(strstr(tests, tag_z) + strlen(tag_z), "%d", &graphJ[n].z);
n++;