Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich inneren XML-Inhalt aus einem SimpleXMLElement ohne die Wrapping-Tags in PHP?

Wie extrahiere ich inneren XML-Inhalt aus einem SimpleXMLElement ohne die Wrapping-Tags in PHP?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 15:59:30223Durchsuche

How to Extract Inner XML Content from a SimpleXMLElement Without the Wrapping Tags in PHP?

Extrahieren des inneren XML-Inhalts mit PHP SimpleXML

Beim Extrahieren des inneren HTML-Inhalts eines Elements mit der SimpleXMLElement-Klasse von PHP gibt die Methode asXML() das gesamte Element zurück, einschließlich seine Wrapping-Tags. Um nur das innere XML zu erhalten, ist eine benutzerdefinierte Funktion erforderlich.

Eine solche Funktion wird unten vorgestellt:

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

Zum Beispiel mit dem folgenden XML:

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

So extrahieren Sie das innere XML des Antwortelements:

<code class="php">$xml = simplexml_load_string($xml_string);
$answer_innerXML = SimpleXMLElement_innerXML($xml->answer);</code>

$answer_innerXML enthält die Zeichenfolge:

Who who, <strong>who who</strong>, <em>me</em>

Das obige ist der detaillierte Inhalt vonWie extrahiere ich inneren XML-Inhalt aus einem SimpleXMLElement ohne die Wrapping-Tags 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