Bei der Arbeit mit XML-Daten kann das Extrahieren bestimmter Teile von entscheidender Bedeutung sein. Eine häufige Aufgabe besteht darin, den inneren HTML-Code eines Elements abzurufen, mit Ausnahme der Tags des Elements. In diesem Artikel wird untersucht, wie dies mit PHP SimpleXML erreicht werden kann.
Betrachten Sie das folgende XML:
<code class="xml"><qa> <question>Who are you?</question> <answer>Who who, <strong>who who</strong>, <em>me</em></answer> </qa></code>
Unser Ziel ist es, den inneren HTML-Code des „ Antwort"-Element, das ist:
<code class="html">Who who, <strong>who who</strong>, <em>me</em></code>
PHP bietet keine integrierte Methode für den Zugriff auf das innere XML eines Elements. Es können jedoch benutzerdefinierte Funktionen erstellt werden, um diesen Bedarf zu erfüllen. Eine solche Funktion, SimpleXMLElement_innerXML, ist unten definiert:
<code class="php">function SimpleXMLElement_innerXML($xml) { $innerXML = ''; foreach (dom_import_simplexml($xml)->childNodes as $child) { $innerXML .= $child->ownerDocument->saveXML( $child ); } return $innerXML; }</code>
Diese Funktion nutzt die PHP-DOM-Erweiterung, um unser SimpleXMLElement ($xml) in ein DOMNode-Objekt zu konvertieren. Anschließend iteriert es über seine untergeordneten Knoten und speichert die XML-Darstellung jedes Knotens im $innerXML-String. Schließlich enthält $innerXML den inneren HTML-Code des Elements.
Um die SimpleXMLElement_innerXML-Funktion zu verwenden, können wir schreiben:
<code class="php">$xml = simplexml_load_string('<qa><answer>Who who, <strong>who who</strong>, <em>me</em></answer></qa>'); $innerXML = SimpleXMLElement_innerXML($xml->answer); echo $innerXML; // Outputs: Who who, <strong>who who</strong>, <em>me</em></code>
Mit der SimpleXMLElement_innerXML-Funktion wird das Abrufen des inneren XML-Codes eines Elements zum Kinderspiel. Durch die Nutzung der DOM-Erweiterung erhalten wir eine präzise Kontrolle über die XML-Manipulation.
Das obige ist der detaillierte Inhalt vonWie rufe ich inneres XML mit PHP SimpleXML ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!