Folgendes Problem: ich möchte aus einer XPath-Query den Original-Quelltext der Fundstelle(n) erhalten.
Ich benutze z.Zt. die DOM-Extension unter PHP 5.1. Die XQuery-Abfrage liefert ein DomNodeList-Objekt. Eine Collection mehrerer DomNodes.
Gibt es eine sichere Methode aus einem DomNode-Objekt den Quellcode zu erhalten? Ich habe im Moment das Problem, dass mir die Entities verloren gehen.
Hier ist der Quellcode:
Ich benutze z.Zt. die DOM-Extension unter PHP 5.1. Die XQuery-Abfrage liefert ein DomNodeList-Objekt. Eine Collection mehrerer DomNodes.
Gibt es eine sichere Methode aus einem DomNode-Objekt den Quellcode zu erhalten? Ich habe im Moment das Problem, dass mir die Entities verloren gehen.
Hier ist der Quellcode:
PHP-Code:
$xpath_result = $xpath->query($query);
if (is_scalar($xpath_result)) {
return $xpath_result;
} else {
$replace = "";
$newDom = XmlTemplate::getXML();
for ($i=0;$i<$xpath_result->length;$i++)
{
switch ($xpath_result->item($i)->nodeType)
{
case XML_ATTRIBUTE_NODE:
if(trim($xpath_result->item($i)->nodeValue) != "") {
$replace .= $xpath_result->item($i)->nodeValue;
}
break;
default:
$a = $newDom->appendChild($newDom->importNode($xpath_result->item($i),true));
$replace .= $newDom->saveXML($a);
break;
}
}
return $replace;
}
Kommentar