XML-Probs (child hinzufügen)

klahcs

Grünschnabel
Also, ich habe laut dem tutorial hier das script so umgebaut, das ich es für eigene zwecke
nutzen kann. Nur leider bekomme ich im explorer dann immer:
"Parse error: parse error, unexpected $end in H:\Programme\xampp\htdocs\tests\kA.php on line 44"
Ich weis, es bedeutet das irgendwo eine klammer, ein beistrich oder so fehlt, aber ich finde einfach nichts.
Das wäre mein code:
PHP:
<?php
		$doc = DOMDocument::load("menue.xml");
		
		$xp = new domxpath($doc);
		
		$id = 0;
		foreach ($doc->documentElement->childNodes as $kategorien) 
		{
			if ($kategorien->nodeType == 1 && $kategorien->nodeName == "kategorie") 
			{
				$id++;
			}
		} 
		
		$id++;
		
		$newxml = <<< XML
		<?xml version='1.0'?>
		<kategorie>
			<id>10</id>
			<name>s</name>
			<filename>asd</filename>
			<imgbefore>asd</imgbefore>
			<imgafter>asd</imgafter>
			<visible>asd</visible>
			<crs>df</crs>
		</kategorie> 
		XML;
			
		$doc2 = DOMDocument::loadXML($newxml);
		$xpath = new DOMXPath($doc2); 
		
		$query = $xpath->query("/kategorie");
		
		foreach($query as $node) 
		{
   	 		$import = $node->cloneNode(true);
		} 
		
		$onewxml = $doc->importNode($import, true);
		
		$firstNode = $doc->getElementsByTagName("kategorie"); 
		$doc->documentElement->insertBefore($onewxml, $firstNode->item(0)); 
		$doc->save("menue.xml");
?>

Es muss irgendwo da sein, wo ich das neue xml-element erzeuge.
(Ich weis das ich da auch variabeln nehmen kann^^)

xml-code dazu:
Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<system>
	<kategorie>
    	<id>1</id>
		<name>Start</name>
		<filename>start</filename>
		<imgbefore>0</imgbefore>
		<imgafter>0</imgafter>
		<visible>nein</visible>
		<crs>2</crs>
	</kategorie>
	<kategorie>
		<id>0</id>
		<name>Admin</name>
		<filename>admin</filename>
		<imgbefore>0</imgbefore>
		<imgafter>0</imgafter>
		<visible>ja</visible>
		<crs>1</crs>
	</kategorie>
</system>

Weis irgendjemand was ich da falsch habe? wäre nett. :D

mfg
 
Bei mir verschwindet der Fehler, wenn ich statt der Zuweisung mit <<<XML [...] XML; normale Anführungszeichen verwende, dafür treten einige andere auf ;)
 
A, wusste nicht das es ein einfacher string ist, ok, habs nun folgendermaßen geändert und nun gehts, danke. :D

PHP:
		$newxml = "<?xml version='1.0'?>
		<kategorie>
			<id>10</id>
			<name>s</name>
			<filename>asd</filename>
			<imgbefore>asd</imgbefore>
			<imgafter>asd</imgafter>
			<visible>asd</visible>
			<crs>df</crs>
		</kategorie>";
 
Zurück