dieses XML/XHTML-Schnipsel Gegeben:SimpleXML in PHP; Ersetzen Knoten mit Textknoten
<h1>
<zuq:data name="siteHeader" />
</h1>
<h2>
<zuq:data name="pageHeaderName" />
<span>—</span>
<zuq:data name="pageHeaderTitle" />
</h2>
I SimpleXML XPath-Methode verwendet haben alle Top-Level-Knoten im zuq
Namespace aufrunden. Da die Array-Elemente der xpath()
-Methode Pseudoreferenzen zu den Objektbaumknoten SimpleXML
sind, dachte ich, dass eine Manipulation einfach wäre. Ich kann jedoch nicht herausfinden, wie man einen gegebenen Elementknoten durch einen Textknoten ersetzt. Wie könnte ich zum Beispiel <zuq:data name="siteHeader" />
durch den Text My Site Header
ersetzen.
Ich habe in Betracht gezogen, einfach den Elternknoten anzusteuern und seinen Inhalt zu modifizieren, wie es mit dem ersten Block funktionieren könnte (<h1>
), aber ich sehe nicht, dass der Fall meines zweiten Blocks funktioniert (<h2>
).
Gibt es eine einfache Möglichkeit, einen bestimmten Elementknoten durch einen SimpleXML
in PHP durch einen Textknoten zu ersetzen?
In Ordnung, danke dqhendricks. Laut PHP-Dokumenten scheint DOM XML ab 5.0.0 aus dem PHP-Kern entfernt worden zu sein und in den PECL verschoben worden zu sein. Die anderen DOM-Klassen sollten umfassender sein, nein? – Dan
es scheint, dass Sie Recht haben. in diesem Fall, Verweis: http://www.php.net/manual/en/book.dom.php – dqhendricks
Danke nochmal ** dqhendricks **; DOM scheint die notwendige Funktionalität zu bieten, allerdings mit viel mehr lexikalischem Overhead. – Dan