Heim >Backend-Entwicklung >PHP-Tutorial >Wie entferne ich ein bestimmtes untergeordnetes Element mit einem bestimmten Attribut in SimpleXML mit PHP?

Wie entferne ich ein bestimmtes untergeordnetes Element mit einem bestimmten Attribut in SimpleXML mit PHP?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-15 13:46:20277Durchsuche

How to Remove a Specific Child Element with a Given Attribute in SimpleXML Using PHP?

Bestimmte untergeordnete Elemente mit Attributen mit SimpleXML von PHP entfernen

In SimpleXML ist das direkte Entfernen untergeordneter Elemente mit unset() möglicherweise nicht effektiv. Um ein bestimmtes untergeordnetes Element mit einem bestimmten Attribut zu entfernen (z. B. ein Element mit der ID „A12“), sollten Sie die Verwendung der DOM-Erweiterung in Betracht ziehen.

Lösung mit DOM

  1. Importieren Sie das SimpleXMLElement in ein DOMElement mit dom_import_simplexml().
  2. Verwenden $dom->parentNode->removeChild($dom), um das untergeordnete Element von seinem übergeordneten Element zu löschen.

Beispielcode

$data = '<data><seg>

Ausgabe

<?xml version="1.0"?>
<data><seg>

XPath Alternative

Alternativ können Sie die Knotenauswahl mithilfe von XPath vereinfachen, wie im folgenden Code dargestellt:

$segs = $doc->xpath('//seq[@id="A12"]');
if (count($segs) >= 1) {
    $seg = $segs[0];
}

// Removal procedure as described above

Das obige ist der detaillierte Inhalt vonWie entferne ich ein bestimmtes untergeordnetes Element mit einem bestimmten Attribut in SimpleXML mit 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