Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich den inneren XML-Inhalt eines SimpleXMLElement-Objekts in PHP?

Wie extrahiere ich den inneren XML-Inhalt eines SimpleXMLElement-Objekts in PHP?

Susan Sarandon
Susan SarandonOriginal
2024-10-28 19:28:02515Durchsuche

How to extract the inner XML content of a SimpleXMLElement object in PHP?

Erhalten von inneren XML-Inhalten mit SimpleXML in PHP

Bei der Arbeit mit XML-Daten in PHP kann es vorkommen, dass Sie eine Extraktion durchführen müssen der innere Inhalt eines Elements, mit Ausnahme der Element-Tags selbst. Dies kann mithilfe von XPath-Abfragen oder benutzerdefinierten Funktionen erreicht werden.

Ansatz für benutzerdefinierte Funktionen:

Eine effiziente Methode zum Abrufen des inneren XML-Inhalts besteht darin, eine benutzerdefinierte Funktion zu erstellen Funktion, die die Knoten durchläuft und die erforderlichen Daten extrahiert.

<code class="php">function SimpleXMLElement_innerXML($xml) {
  $innerXML = '';
  foreach (dom_import_simplexml($xml)->childNodes as $child) {
    $innerXML .= $child->ownerDocument->saveXML($child);
  }
  return $innerXML;
}</code>

Verwendung:

<code class="php">$xml = '<qa>
  <question>Who are you?</question>
  <answer>Who who, <strong>who who</strong>, <em>me</em></answer>
</qa>';

$answer = simplexml_load_string($xml);
$inner_content = SimpleXMLElement_innerXML($answer);

echo $inner_content; // Output: "Who who, <strong>who who</strong>, <em>me</em>"</code>

Schlussfolgerung:

Diese benutzerdefinierte Funktion bietet eine einfache und effiziente Möglichkeit, den inneren XML-Inhalt von SimpleXMLElement-Objekten abzurufen, ohne auf komplexe Techniken zur Zeichenfolgenmanipulation zurückgreifen zu müssen. Dies ist besonders nützlich beim Umgang mit großen oder komplexen XML-Strukturen.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich den inneren XML-Inhalt eines SimpleXMLElement-Objekts in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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