XPath-Query

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XPath-Query

    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:
    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;


  • #2
    definiere "verloren gehen"

    Kommentar


    • #3
      Im Sinne von "die Entities sind in der Ausgabe nicht mehr vorhanden".

      Beispiel aus: "Au&amp;szlig;enhandel&amp;thinsp;&amp;amp;&amp;thinsp;-h&amp;auml;ndler" wird in der Ausgabe "Auenhandel-hndler"

      Die Entites müssen aber unverändert erhalten bleiben, weil sie für die weitere Verarbeitung benötigt werden.

      Kommentar

      Lädt...
      X