Save mit simplexml

Moin,
ich öffne eine xml-Datei mit:
$xml = simplexml_load_file($filepath);

dann schreibe ich was rein:
$xml->Layer->Src = $where;

speichern kann man sich das ganze dann wieder mit:
$xml->asXML($filepath);

Aber leider wird in die erste Zeile immer

<?xml version="1.0"?>

geschrieben. Wie kann ich das verhindern?

Paul

Hallo Pail,

Aber leider wird in die erste Zeile immer

<?xml version="1.0"?>

geschrieben. Wie kann ich das verhindern?

Diese Zeile gehoert zu validem XML mit dazu - sprich wenn du valides XML moechtest, dann solltest du das nicht verhindern.

Falls es dich aus irgend einem Grund doch stoert, kannst du in dem erzeugtem String einfach per str_replace() oder preg_replace() die stoerende Zeichenkette entfernen (bzw. durch ‚‘ ersetzen)

Gruesse
Stefan

Diese Zeile gehoert zu validem XML mit dazu …

schon klar. Aber das neue File ist kein xml, sondern hat nur den Aufbau einer xml-Datei.

kannst du in dem erzeugtem String einfach per str_replace() oder
preg_replace() …

in welchem string? da wird doch eine Datei erstellt. Bis jetzt behelf ich mir, indem ich die Datei danach nocheinmal mit fopen öffne und die erste Zeile rausschmeiße. nicht sehr schön…

Paul

Wenn du $simplexml->asXML() ohne Parameter aufrufst, bekommst du die XML-Daten als String.

sprich:

$string = $simplexml->asXML();
$outstring = remove_first_line($string);
file_put_contents($filepath, $outstring);