Avatar billede theill Nybegynder
28. marts 2002 - 01:08 Der er 2 kommentarer og
1 løsning

Problem med XML objekt og serialize/unserialize

Jeg har en klasse der aabner et XML dokument med:

  $docnode = xmldocfile("test.xml");

Jeg arbejder lidt paa XML filen og saetter nogle variabler i klassen, etc. Paa et tidspunkt oensker jeg at bruge serialize/unserialize paa hele klassen (fx ved at gemme den i en session) ... men naar jeg hiver klassen ud igen fra en anden side og begynder at arbejde paa min xml variabel (fx med '$docnode->children()') faar jeg denne fejl:

  children() underlying object missing or of invalid type in somefile.php
  children() cannot fetch DOM object in somefile.php

Umiddelbart ville jeg mene at hele mit XML dokument bliver loadet med 'xmldocfile()' funktionen men det er tilsyneladende ikke tilfaeldet? Jeg bruger PHP 4.1.1 med libxml2-2.4.11.

Skal man lave et trick inden man gemmer et XML objekt (eller en klasse der bruger et XML objekt som er tilfaeldet i ovenstaaende) i session?
Avatar billede coderdk Praktikant
28. marts 2002 - 17:34 #1
Du skal huske at include din originale klasse inden du unserializer ellers får du fejl og kan ikke bruge objektets metoder!
Avatar billede theill Nybegynder
29. marts 2002 - 14:19 #2
Ja, det goer jeg desvaerre allerede. Jeg bruger klasser/objekter paa stort set alle sider paa min site.

Problemet opstaar kun naar jeg loader en XML fil i klassen ... og gerne vil holde denne fil "aaben"; laver jeg fx en print_r() kan jeg se at der er mem-refs saa jeg taenkte at jeg maaske skulle serialize en reference til mit objekt i stedet. Det hjalp dog heller ikke :-(
Avatar billede theill Nybegynder
05. december 2002 - 02:23 #3
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester