„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie extrahiere ich inneren XML-Inhalt aus einem SimpleXMLElement in PHP?

Wie extrahiere ich inneren XML-Inhalt aus einem SimpleXMLElement in PHP?

Veröffentlicht am 16.11.2024
Durchsuche:561

How to Extract Inner XML Content from a SimpleXMLElement in PHP?

PHP SimpleXML: Zugriff auf inneres XML

Im Bereich der PHP-XML-Analyse ermöglicht die SimpleXML-Erweiterung Entwicklern die einfache Bearbeitung von XML-Dokumenten. Allerdings kann das Extrahieren des inneren Inhalts eines XML-Elements, mit Ausnahme der umgebenden Element-Tags, eine Herausforderung sein.

Bedenken Sie das folgende XML-Snippet:

Who are you?Who who, who who, me

Um nur den Inhalt des „answer“-Elements abzurufen (d. h. „Who who, who who, me“), müssen wir Folgendes tun Umgehen Sie die Standardmethode asXML(). Stattdessen stellen wir eine elegante Lösung mit der Funktion dom_import_simplexml() vor.

function SimpleXMLElement_innerXML($xml)
  {
    $innerXML = '';
    foreach (dom_import_simplexml($xml)->childNodes as $child)
    {
        $innerXML .= $child->ownerDocument->saveXML( $child );
    }
    return $innerXML;
  }

Durch den Einsatz dieser Funktion können wir auf das innere XML eines beliebigen Elements zugreifen:

$xml = simplexml_load_string($xmlString);
$innerAnswer = SimpleXMLElement_innerXML($xml->answer);

Die resultierende Variable $innerAnswer enthält die gewünschte Zeichenfolge: „Who who, who who, me“ . Dieser Ansatz bewahrt die ursprüngliche Formatierung und die Zeicheneinheiten im inneren XML und ist somit ideal für die Aufrechterhaltung der Integrität des extrahierten Inhalts.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3