Avatar billede nickl87 Nybegynder
21. august 2007 - 11:20 Der er 6 kommentarer og
1 løsning

Tilføj data til xml dokument.

Hej

Jeg har følgende xml dokument:

<?xml version="1.0" encoding="utf-8"?>
<guestbook>
    <message>
        <date>20.08.2007</date>
        <title>test</title>
        <body>test test test test</body>
    </message>
</guestbook>

Jeg kunne nu godt tænke mig at tilføje et nyt barn message, så følgende dokument fås:

<?xml version="1.0" encoding="utf-8"?>
<guestbook>
    <message>
        <date>20.08.2007</date>
        <title>test</title>
        <body>test test test test</body>
    </message>
        <message>
        <date>test</date>
        <title>test</title>
        <body>test</body>
    </message>
</guestbook>

jeg har fundet frem til følgende script, som jeg dog ikke kan få til at virke:

    $name = $_POST["name"];
    $title = $_POST["title"];
    $body = $_POST["body"];
   
    echo $name . " " . $title . " " . $body;
   
    $xml = new SimpleXMLElement("guestbook.xml");

    $character = $xml->guestbook[0]->addChild("message");
    $character->addChild("date", "test");
    $character->addChild("title", "test");
    $character->addChild("body", "test");

    echo $xml->asXML();

håber der er nogen som kan hjælpe :)

mvh.
Nick
Avatar billede nickl87 Nybegynder
21. august 2007 - 19:39 #1
Er der slet ingen som ved dette?
Avatar billede mcardle Nybegynder
21. august 2007 - 20:02 #2
Avatar billede nickl87 Nybegynder
21. august 2007 - 21:39 #3
Men kan det virkelig passe at man ikke kan bruge den indbyggede xml parser?

mvh.
Nick
Avatar billede mcardle Nybegynder
21. august 2007 - 22:00 #4
Det ved jeg faktisk ikke, desværre.

//mcardle
Avatar billede arne_v Ekspert
22. august 2007 - 01:33 #5
Eksempel:

<?php
$doc = new DOMDocument();
//$doc->preserveWhiteSpace = FALSE;
$doc->load('C:\test1.xml');
$dom->formatOutput = TRUE;
$date = $doc->createElement('date');
$date->appendChild($doc->createTextNode('ny'));
$title = $doc->createElement('title');
$title->appendChild($doc->createTextNode('ny'));
$body = $doc->createElement('body');
$body->appendChild($doc->createTextNode('ny'));
$message = $doc->createElement('message');
$message->appendChild($date);
$message->appendChild($title);
$message->appendChild($body);
$doc->documentElement->appendChild($message);
$doc->save('C:\test2.xml');
echo "OK";
?>
Avatar billede nickl87 Nybegynder
22. august 2007 - 11:17 #6
mange tak arne_v, var lige det jeg ledte efter :)

mvh.
Nick H. Lauritsen
Avatar billede arne_v Ekspert
23. august 2007 - 01:18 #7
Så smider jeg et svar.
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