Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich mit SimpleXmlElement CDATA-Abschnitte zu XML-Dateien hinzu?

Wie füge ich mit SimpleXmlElement CDATA-Abschnitte zu XML-Dateien hinzu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-23 13:30:30802Durchsuche

How to Add CDATA Sections to XML Files with SimpleXmlElement?

Verwenden von SimpleXmlElement zum Schreiben von CDATA

Beim Erstellen und Aktualisieren von XML-Dateien mit SimpleXmlElement kann es vorkommen, dass Sie CDATA-Abschnitte hinzufügen müssen. Hier ist eine maßgeschneiderte Lösung, um dies mithilfe einer Erweiterung der Basisklasse zu erreichen:

Benutzerdefinierte SimpleXMLElement-Klasse

Um Konflikte mit der nativen SimpleXmlElement-Klasse zu vermeiden, definieren wir unsere benutzerdefinierte Klasse SimpleXMLExtended:

<code class="php">class SimpleXMLExtended extends SimpleXMLElement {

  // Create CDATA section custom function.
  public function addCData( $cdata_text ) {
    $node              = dom_import_simplexml( $this ); 
    $ownerDocumentNode = $node->ownerDocument;

    $node->appendChild( $ownerDocumentNode->createCDATASection( $cdata_text )); 
  }

}</code>

Beispielverwendung

Sobald unser erweiterter Kurs eingerichtet ist, gehen wir das konkrete Beispiel an:

<code class="php">// Name of the XML file.
$xmlFile    = 'config.xml';

// <?xml version=&quot;1.0&quot;?>
// <site></site>
// ^^^^^^^^^^^^^
$xml        = new SimpleXMLExtended( '<site/>' );

// Insert '<title><title>' into '<site></site>'.
// <?xml version=&quot;1.0&quot;?>
// <site>
//   <title></title>
//   ^^^^^^^^^^^^^^^
// </site>
$xml->title = NULL; // IMPORTANT! Need a node where to append.

// CDATA section custom function.
// <?xml version=&quot;1.0&quot;?>
// <site></site></code>

Das obige ist der detaillierte Inhalt vonWie füge ich mit SimpleXmlElement CDATA-Abschnitte zu XML-Dateien hinzu?. 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