Witam, mam problem z jednym zadankiem. W zadaniu mam wczytać dane z pliku xml, przykładowo w tym xmlu są następujące dane:

< head000>IDdostawcy< /head000>< head001>nr_produktu< /head001>< head002>NazwaProduktu< /head002>
< LINE001>< Item000>5< /Item000>< Item001>11< /Item001>< Item002>chipsy< /Item002>
< LINE002>< Item000>20< /Item000>< Item001>42< /Item001>< Item002>orzeszki< /Item002>

Ale chodzi o to żeby nie wczytywać tych tagów html, tylko te dane co są między nimi, i zapisywać je w listy, ma to wyglądać mniej więcej tak:

Id dostawcy nr_produktu NazwaProduktu
5 11 chipsy
20 42 orzeszki

To co zrobiłem to deklaracja struktury:

struct magazyn {
int IDdostawcy,nr_produktu;
char NazwaProduktu[50];
}towar[3];

Program wczytuje dane za pomocą getchar(), ma szukać tych tagów, i to co jest między tymi tagami to ma zapisać np:
strcpy(towar[2] ->NazwaProduktu, "chipsy").

Jakieś pomysły jak to zrobić ?

Wymyśliłem funkcję która znajduje określony tag:

int znajdz_Item001 (void) {

int c;
char tag=[<item001>];
int znak;

znak=0;

do {
c=getchar();
if (c!=EOF) {
switch(znak){
case 0: if(c=tag[0]) znak++;
else znak=0; break;
case 1: if(c=tag[1]) znak++;

        ...  itd

while(c!=EOF && znak!=6)

a potem w mainie:

status=znajdz_Item001;
if (status=1) ...

I dalej nie wiem za bardzo co robić z tym :(