Avatar billede hypofysen Nybegynder
06. september 2008 - 15:08 Der er 6 kommentarer og
1 løsning

fra php til xml igen

Denne kode tilføjer sidst i xml dokumentet, hvordan ændres det så det istedet indsættes inndefor <gallery> </gallery>

<body>
<?php
if (isset($_POST['description'])) {
    $filnavn = 'fil.xml';
    $out = "\n<image color=\"0x8E94AF\">\n";
        foreach ($_POST as $name=>$val) {
        $out .= "<$name>".ucfirst(strtolower($val))."</$name>\n";
    }
    $out .= "</image>\n";
    if (!file_exists($filnavn)) touch($filnavn);
    $fp = fopen($filnavn, 'a');
    fwrite($fp, $out);
    fclose($fp);
    echo "billedet er tilføjet!";
} else {
?>
<form action="" method="post">
<p><input name="description" type="text" /><br />
<input name="pic" type="text" /><br />
<input name="link" type="text" /></p>
<p><input type="submit" value="Lav xml" /></p>
</form>
<?php
}?>
</body>

fil.xml:

<gallery>

<image color="0x8E94AF">
<description>12</description>
<pic>123</pic>
<link>1234</link>
</image>

</gallery>
Avatar billede jaw Nybegynder
06. september 2008 - 15:50 #1
Hvis jeg forstår dig ret, så er det nemmeste, at du først henter indholdet af filen ind i en variabel. Så fjerner du sidste linie (</gallery>) og så tilføjer du det nye, hvorefter du igen tilføjer </gallery>.
Avatar billede hypofysen Nybegynder
07. september 2008 - 11:31 #2
Kan squ ik få det til at virke :(, men arbejder videre med dit forslag!
Skylder også lidt point så smid et svar!
Avatar billede jaw Nybegynder
07. september 2008 - 11:36 #3
Prøv at vise, hvad du har indtil videre, så kan det jo være jeg kan give et lille hint...
Avatar billede hypofysen Nybegynder
07. september 2008 - 15:01 #4
Forsøger med følgende, koden tilføjer nu rigtigt i mit xml dokument, men mangler at få den til at gemme resultatet!

<?php

include 'xml.xml';

$sxe = new SimpleXMLElement($xmlstr);
$gallery = $sxe;

$image = $gallery->addChild('image');
$image->addChild('description', 'test1');
$image->addChild('pic', 'test2');
$image->addChild('link', 'test3');


echo $sxe->asXML();

?>
Avatar billede jaw Nybegynder
07. september 2008 - 16:20 #5
Ja ok, men det viser jo sådan set ikke, hvad der sker med de data...
Avatar billede hypofysen Nybegynder
22. september 2008 - 09:10 #6
det tog noget tid men fandt løsningen :) mangler bare linjeskift i resultatet

<?php

$xmlstr = file_get_contents("xml.xml");

$xml = new SimplexmlElement($xmlstr);

$newImage = $xml->addchild('image');
$newImage->addchild('description', 'tester');
$newImage->addchild('pic', 'tester1');
$newImage->addchild('link', 'tester2');

$handle = fopen("xml.xml", "w");
fwrite($handle, $xml->asxml());
fclose($handle);

?>
Avatar billede hypofysen Nybegynder
11. marts 2009 - 17:03 #7
luk
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