xml, class og variable

Tags:    php

Hej,

jeg har et lille problem. Jeg vil gerne lave en xml-parser, så jeg læser lidt, og får stykket noget kode sammen:

Fold kodeboks ind/udKode 


koden læser en xml fil, og hvis det tag den læser hedder roller, så skriver den tag navnet, roller, ud, så sætter den $isItem til true og skirver igen tag navnet ud. Så du skulle printe noget ala:

ROLLER
ROLLER

men jeg får

ROLLER
1

Jeg tror at den sætter tag navnet til true i stedet for isItem. Men hvorfor gør den det, og hvordan kan jeg undgå det?

adam
Køb en zebra - og kald den plet

P.S. xml-filen, som jeg har tyv-stjålet fra en udv. artikel:

Fold kodeboks ind/udKode 



[Redigeret d. 15/01-05 13:45:14 af adam]



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Hej,

jeg har et lille problem. Jeg vil gerne lave en xml-parser, så jeg læser lidt, og får stykket noget kode sammen:

Fold kodeboks ind/udKode 


koden læser en xml fil, og hvis det tag den læser hedder roller, så skriver den tag navnet, roller, ud, så sætter den $isItem til true og skirver igen tag navnet ud. Så du skulle printe noget ala:

ROLLER
ROLLER

men jeg får

ROLLER
1

Jeg tror at den sætter tag navnet til true i stedet for isItem. Men hvorfor gør den det, og hvordan kan jeg undgå det?

adam
Køb en zebra - og kald den plet

P.S. xml-filen, som jeg har tyv-stjålet fra en udv. artikel:

Fold kodeboks ind/udKode 



[Redigeret d. 15/01-05 13:45:14 af adam]


Hej Adam,

Godt nok er jeg ikke så meget inde i xml, men hvorfor ikke bare bruge $tag istedet for $this->$tagName.""?
Så vidt jeg kan se sætter du jo bare $this->$tagName til at være det samme som $tag.

jeg hentyder til denne linje: $this->$tagName = $tag;

M.v.h. Johnny Rasmussen.

[Edit]
jeg ville nok også ændre
Fold kodeboks ind/udKode 

til
Fold kodeboks ind/udKode 

[/Edit]

[Redigeret d. 15/01-05 14:26:41 af Johnny Rasmussen]



Ideen med at bruge $this->$tagName, er at $tag hører til functionen _start og jeg skal bruge indholdet af den i functionen _indhold. Det står ikke i koden, men jeg skar lidt ned på det, for at få kernen af problemet frem. Men ellers tak :-)

adam



Ideen med at bruge $this->$tagName, er at $tag hører til functionen _start og jeg skal bruge indholdet af den i functionen _indhold. Det står ikke i koden, men jeg skar lidt ned på det, for at få kernen af problemet frem. Men ellers tak :-)

adam


Hej igen Adam.

Ked af jeg ikke kunne hjælpe dig men du kunne vel ikke lige sige mig hvordan man får teksten mellem tagsne?

M.v.h. Johnny Rasmussen.



jo da,

du sætter det her:

Fold kodeboks ind/udKode 


også kaldes function _indhold, eller hvad du nu har kaldt den, hver gang det kommer noget mellem tagsne. _indhold tager to argumenter parseren og det data det er. Du kan se her: http://dk2.php.net/manual/en/function.xml-parse.php og her: http://www.sitepoint.com/article/php-xml-parsing-rss-1-0 om xml parsing

adam
Køb en zebra - og kald den plet




jeg har selv fundet løsningen. Problemet var at jeg tilgik mine variable som:

$this->$variabelNavn

man skal gøre sådan her:

$this->variabelNavn

jeg tager selv pointsne.

adam
Køb en zebra - og kald den plet




t