Hallo zusammen,
ich habe ein kleines Problem mit PHP. Ich würde gerne Werte in einer XML-Datei ändern. Als Bsp habe ich mir diese Das hier ausgesucht.
Mein Code sieht wie volgt aus:
[code=php] <?php
# Datei öffnen
function openXMLfile($xmlfile){
if(!isset($GLOBALS['xmlObjects'][$xmlfile])){
$xmlobj = simplexml_load_file($xmlfile);
$GLOBALS['xmlObjects'][$xmlfile] = $xmlobj;
}
}
# Wert ändern
function changeXMLvalue($xmlfile, $xmlpath, $xmlnode, $xmlvalue=''){
$xmlobj = $GLOBALS['xmlObjects'][$xmlfile]->xpath($xmlpath);
$xmlobj[0]->{$xmlnode} = htmlspecialchars($xmlvalue);
}
# XML-Datei speichern
function saveXMLfile($xmlfile){
if(!isset($GLOBALS['xmlObjects'][$xmlfile])){
trigger_error('Die Datei "'.$xmlfile.'" wurde nie geöffnet.');
return false;
}
$xmlFileValue = $GLOBALS['xmlObjects'][$xmlfile]->asXML();
file_put_contents($xmlfile, $xmlFileValue);
}
openXMLfile('datei.xml');
changeXMLvalue('datei.xml', '/liste/dino[@nummer="3"]', 'ort', 'Mongolei');
saveXMLfile('datei.xml');
?>[/php]
Die XML-Datei ist die aus dem Beispiel. Das Funktioniert aber nicht...
Was habe ich falsch gemacht?