Heim > Backend-Entwicklung > PHP-Tutorial > Wie rufe ich inneres XML mit PHP SimpleXML ab?

Wie rufe ich inneres XML mit PHP SimpleXML ab?

Linda Hamilton
Freigeben: 2024-10-28 03:01:02
Original
811 Leute haben es durchsucht

How to Fetch Inner XML with PHP SimpleXML?

Abrufen von innerem XML mit PHP SimpleXML

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.

Problemkontext

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Lösung mit der innerXML-Funktion

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>
Nach dem Login kopieren

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.

Beispielverwendung

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>
Nach dem Login kopieren

Schlussfolgerung

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage