Avatar billede soc127754 Nybegynder
31. august 2004 - 16:40 Der er 7 kommentarer

Form til xml

Er der nogle der har et script der generisk gennemløber de postede formværdier og tilføjer værdierne til en xmlfil?
Avatar billede detox Nybegynder
31. august 2004 - 17:45 #1
Hvordan ser formen og xml-filen ud?
Avatar billede soc127754 Nybegynder
31. august 2004 - 23:23 #2
Jeg tænker på et generisk script der simpelthen tager navnet fra det enkelte formelement og føjer det til xml-filen - altså

form:
<input name=felt1 value=værdi1>
<input name=felt2 value=værdi2>
<input name=felt2 value=værdi3>

xml:
<felt1>værdi1</felt1><felt2>værdi2</felt2><felt2>værdi2</felt2>

Eller lign. Jeg kan lave det i ASP vil at loope gennem en formcollection og oprette xml'en, men jeg er ikke so god til php!
Avatar billede detox Nybegynder
01. september 2004 - 00:09 #3
Ok jeg troede du havde en xml-fil, når du skriver: "tilføjer værdierne til en xmlfil".
Her er et eksempel:

<?php
if (isset($_POST['felt1'])) {
    $filnavn = 'fil.xml';
    $out = '<?xml version="1.0" encoding="iso-8859-1" ?>' . "\n";
    $out .= "<data>\n";
    foreach ($_POST as $name=>$val) {
        $out .= "    <$name>".ucfirst(strtolower($val))."</$name>\n";
    }
    $out .= "</data>";
    if (!file_exists($filnavn)) touch($filnavn);
    $fp = fopen($filnavn, 'w');
    ftruncate($fp, 0);
    fwrite($fp, $out);
    fclose($fp);
    echo "Transformation done!";
} else {
?>
<form action="" method="post">
<p><input name="felt1" type="text" /><br />
<input name="felt2" type="text" /><br />
<input name="felt3" type="text" /></p>
<p><input type="submit" value="Lav xml" /></p>
</form>
<?php
}?>
Avatar billede soc127754 Nybegynder
01. september 2004 - 01:07 #4
Lige præcis. Tusind tak. Så mangler der blot en enkelt ting. Denne udgave sletter og opdaterer vis filen. Felterne skal appendes i bunden af filen (den behøver ikke indeholde et rootelement. Det puttes på senere).
Avatar billede detox Nybegynder
01. september 2004 - 01:44 #5
Ok, rettet lidt til:

<?php
if (isset($_POST['felt1'])) {
    $filnavn = 'fil.xml';
    $out = '';
    foreach ($_POST as $name=>$val) {
        $out .= "<$name>".ucfirst(strtolower($val))."</$name>\n";
    }
    if (!file_exists($filnavn)) touch($filnavn);
    $fp = fopen($filnavn, 'a');
    fwrite($fp, $out);
    fclose($fp);
    echo "Transformation done!";
} else {
?>
<form action="" method="post">
<p><input name="felt1" type="text" /><br />
<input name="felt2" type="text" /><br />
<input name="felt3" type="text" /></p>
<p><input type="submit" value="Lav xml" /></p>
</form>
<?php
}?>
Avatar billede soc127754 Nybegynder
01. september 2004 - 09:36 #6
Tusind tak. Det er bare helt perfekt. Vil du ikke lægge et svar så jeg kan give dig point?
Avatar billede detox Nybegynder
01. september 2004 - 09:55 #7
Velbekommen
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