---
title: "Lägga till data i XML-dokuemnt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/161751-lägga-till-data-i-xml-dokuemnt"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "lilja"
published: "2007-06-20T19:49:10.000Z"
updated: "2007-06-21T10:02:53.000Z"
replies: 1
views: 436
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/161751-lägga-till-data-i-xml-dokuemnt"
---

# Lägga till data i XML-dokuemnt

## #1 — lilja, 2007-06-20T19:49Z

Jag har försökt mig på att läsa in ett XML-dokument med SimpleXML vilket fungerar bra. Men sen förstår jag inte hur jag ska kunna lägga till nya objekt i filen och uppdatera filen. Skriva över den gamla filen går lika bra.

Ska man använda DOM eller nåt liknande? Jag har försökt förstå en del exempel och det jag fastnar på är ofta hur man skall spara allt till en fil. Jag är också osäker på om jag lägger till data på korrekt sätt för att enkelt kunna spara det i slutändan.

Jag hade tänkt mig skapa en gästbok som sparar nya poster i ett XML-dokument mestadels för övnings-skull. Att göra något liknande med MySQL är jag inte intresserad av då jag redan vet hur det fungerar...

Permalänk: https://www.webforum.nu/p/161751

## #2 — lilja, 2007-06-21T10:02Z

Ok, jag tror jag är på rätt väg snart men jag får fel på raden där jag vill skapa ett nytt objekt vid namn \<comment\> inuti \<comments\> men får följande felmeddelande:

Call to a member function appendChild() on a non-object

Om jag försöker öppna med domxml_open_file får jag följande felmeddelande:

Call to undefined function domxml_open_file()

Hur ska jag göra? Här är min kod:

```php
// Get XML-data
$dom = new DOMDocument();

if (!$dom = domxml_open_file("guestbook.xml")) {
	echo "Error while parsing the document\n";
	exit;
}
//$dom->load('guestbook.xml'); // old solution

// Add <comment> element to <comments>
$comments = $dom->comments;

// Add <comment> element to <comments>
$comment = $comments->appendChild($dom->createElement('comment'));

// Add <name> element to <comment>
$name = $comment->appendChild($dom->createElement('name'));

// Add <name> text node to <name>
$name = $name->appendChild($dom->createTextNode('Christoffer Lilja'));

//generate xml 
$dom->formatOutput = true; 	// set the formatOutput attribute of domDocument to true 

$dom->save('guestbook.xml'); 	// save as file
```

Permalänk: https://www.webforum.nu/p/1994838

---

Tråden på webben: https://www.webforum.nu/amne/php/161751-lägga-till-data-i-xml-dokuemnt
