Hallo Forianer,
ich habe ein kleines Problem. Und zwar habe ich eine XML-Datei, die so aussieht:
<?xml version="1.0"?>
<!DOCTYPE page [
<!ENTITY % ISOlat1 PUBLIC "-//W3C//ENTITIES Latin1 for XHTML//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
%ISOlat1;
<!ENTITY % ISOsymbol PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
%ISOsymbol;
<!ENTITY % ISOspecial PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
%ISOspecial;
]>
<files>
<file>
<title>Mein Titel</title>
<filename>en/index.html</filename>
<description/>
<keywords />
<image_path />
<style_path />
<style_screen />
<style_ie6 />
<style_ie7 />
<style_print />
</file>
</files>
Jetzt will ich den Eintrag löschen. Dafür habe ich folgende Funktion:
$doc = DOMDocument::load(../xml/source_en.xml);
$xp = new DOMXPath($doc);
$nodeList = $xp->query("file[filename=en/index.html]");
$nodeList->item(0)->parentNode->removeChild($nodeList->item(0));
$doc->save($file);
Leider kommt beim Aufrufen immer die Fehlermeldung
"Call to a member function removeChild() on a non-object"
Wo liegt mein Denkfehler???
Auf Wiederlesen
Devius