Hallo,
habe eine einfache XML-Datei ("xml_auslesen.xml"):
Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<bildbeschreibungen>
<bes id="bild_01">blabla 1</bes>
<bes id="bild_02">blabla 2</bes>
</bildbeschreibungen>
Über folgenden Code möchte ich auf einen bestimmten Knoten zugreifen:
PHP-Code:
<?php
$doc = new DOMDocument("1.0","ISO-8859-1");
$doc->validateOnParse = true;
$doc->load('xml_auslesen.xml');
$element = $doc->getElementById("bild_01");
if ($element)
echo "DOMElement wurde gefunden: $element";
else
echo "DOMelement wurde nicht gefunden";
?>
Jedoch bekomme ich eben nicht das DOMElement zurück. Also kann ich demzufolge auch nicht über folgenden Code die Bildbeschreibung "blabla 1" auslesen:
PHP-Code:
$doc->getElementById("bild_01").firstChild.nodeValue;
Es erscheinen bei diesem Code demzufolge diese Warnungen:
PHP-Code:
Notice: Use of undefined constant firstChild - assumed 'firstChild' in ...
Notice: Use of undefined constant nodeValue - assumed 'nodeValue' in ...
Anfangs bin ich nicht drauf gekommen, dass ich über getElementById gar keinen Rückgabewert erhalte. Deshalb hatte ich mich mit diesen Warnungen auseinandergesetzt, also mit "firstChild" und "nodeValue".
Unter Javascript habe ich mit getElementById hingegen keine Probleme. Mit getElementsByTagName kann ich hier in PHP auch auf die einzelnen Elemente zugreifen. ich möchte jedoch auch nicht simpleXML nutzen.
Also, was für (einen) Anfängerfehler habe ich gemacht?
Carlos