Avatar billede hypofysen Nybegynder
23. februar 2009 - 12:42 Der er 5 kommentarer og
1 løsning

indsæt af linjeskift efter child i xml med php

Jeg bruger følgende kode til at opdatere en xml fil og det virker egentlig udmærket, men jeg vil gerne have lavet et linjeskift hvergang jeg har indsat i filen, men hvordan?

                $desc = "thumbnail filename=\"".$imgsource."\" label=\"".$_SESSION['productname']."\" url=\"index.php?choise=product&cat=".$_SESSION['id']."&pid=".$getid."\"";
                $xmlstr = file_get_contents("../flash/xmlfiles/".$_SESSION['id'].".xml");

                $xml = new SimplexmlElement($xmlstr); 
                $newImage = $xml->addchild($desc);
                $handle = fopen("../flash/xmlfiles/".$_SESSION['id'].".xml", "w");
                fwrite($handle, $xml->asxml());
                fclose($handle);
Avatar billede olebole Juniormester
23. februar 2009 - 12:50 #1
<ole>

Det kan du ikke med XML, så du må igang med selv at parse filen med PHP og sætte white-space ind, hvor du mener at have brug for det. På den anden side er man jo helst fri for white-space i XML, da det tolkes vidt forskelligt på forskellige platforme

/mvh
</bole>
Avatar billede hypofysen Nybegynder
23. februar 2009 - 12:59 #2
vil bare ha det til at stå sådan her:

<thumbnails>
<thumbnail filename="1.png" label="1" url="1" />
<thumbnail filename="2.png" label="2" url="2"/>
</thumbnails>

istedet for som nu

<thumbnails>
<thumbnail filename="1.png" label="1" url="1" /><thumbnail filename="2.png" label="2" url="2"/></thumbnails>

kan det virkelig ikke lade sig gøre?
Avatar billede olebole Juniormester
23. februar 2009 - 16:16 #3
Jo, men ikke med XML-funktioner. Du må selv finde stederne med PHP og sætte linjeskift ind - men som sagt, giver det f.eks. problemer med at traversere over childnode-collections i visse browsere.

Hvis du insisterer, kan du vel gøre noget à la:

$xmlstr = file_get_contents("../flash/xmlfiles/".$_SESSION['id'].".xml");
$xmlstr = preg_replace("/></", ">\r\n<", $xmlstr);

Det vil kunne rette noget af det
Avatar billede hypofysen Nybegynder
23. februar 2009 - 18:46 #4
ok lyder altså ikke som en god ide, har det nogen betydning ud over overblikket at der ikke indsættes et linjeskift ?
Avatar billede hypofysen Nybegynder
24. februar 2009 - 21:19 #5
skriv et svar ole, brugte dog ikke løsningen, men blev da klogere :)
Avatar billede olebole Juniormester
25. februar 2009 - 09:17 #6
Kommer her  =)
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