Inhaltsverzeichnis
1. Einführung und Installation
2. Anwendungsbeispiele
Grundlegende Verwendung
Umgang mit XML-Fehlern
3. Verwandte Funktionen
4. Verwandte Klassen und Mitgliedsfunktionen
Heim Backend-Entwicklung XML/RSS-Tutorial PHP-Erweiterungs-XML-Operation (1) – SimpleXML

PHP-Erweiterungs-XML-Operation (1) – SimpleXML

May 17, 2018 am 09:38 AM
php扩展 simplexml xml操作


1. Einführung und Installation

Die SimpleXML-Erweiterung bietet ein sehr einfaches und benutzerfreundliches Toolset, das XML in eine XML-Datei mit allgemeinen Attributselektoren konvertieren kann Ein Objekt für Array-Iteratoren.

Diese Erweiterung erfordert die PHP-Erweiterung libxml. Das bedeutet, dass --enable-libxml verwendet werden muss, obwohl dies implizit erfolgt, da libxml standardmäßig aktiviert ist.

Erfordert PHP5 und höher.

Diese Erweiterung ist standardmäßig aktiviert und kann beim Kompilieren über die folgenden Optionen deaktiviert werden: --disable-simplexml

2. Anwendungsbeispiele

Grundlegende Verwendung

Beispiel #1 Datei example.php mit XML-String einbinden

<?php
$xmlstr = <<<XML
<?xml version=&#39;1.0&#39; standalone=&#39;yes&#39;?>
<movies>
<movie>
<title>PHP: Behind the Parser</title>
<characters>
<character>
<name>Ms. Coder</name>
<actor>Onlivia Actora</actor>
</character>
<character>
<name>Mr. Coder</name>
<actor>El Act&#211;r</actor>
</character>
</characters>
<plot>
So, this language. It&#39;s like, a programming language. Or is it a
scripting language? All is revealed in this thrilling horror spoof
of a documentary.
</plot>
<great-lines>
<line>PHP solves all my web problems</line>
</great-lines>
<rating type="thumbs">7</rating>
<rating type="stars">5</rating>
</movie>
</movies>
XML;
?>
Nach dem Login kopieren

Die Einfachheit von SimpleXML wird am deutlichsten, wenn man eine Zeichenfolge oder Zahl aus a extrahiert grundlegendes XML-Dokument .

Beispiel #2 abrufen

<?phpinclude &#39;example.php&#39;;
$movies = new SimpleXMLElement($xmlstr);
echo $movies->movie[0]->plot;?>
Nach dem Login kopieren

Die obige Routine gibt Folgendes aus:

   So, this language. It&#39;s like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
Nach dem Login kopieren

Der Zugriff auf Elemente in einem XML-Dokument, die Zeichen enthalten, die gemäß der PHP-Namenskonvention nicht zulässig sind (z. B. der Bindestrich), kann erreicht werden, indem der Elementname in geschweifte Klammern und den Apostroph eingeschlossen wird.

Beispiel Nr. 3 Abrufen von

<?phpinclude &#39;example.php&#39;;
$movies = new SimpleXMLElement($xmlstr);
echo $movies->movie->{&#39;great-lines&#39;}->line;?>
Nach dem Login kopieren

Die obige Routine gibt Folgendes aus:

PHP solves all my web problems
Nach dem Login kopieren

Beispiel #4 Zugriff auf nicht eindeutige Elemente in SimpleXML

Wenn mehrere Instanzen eines Elements als untergeordnete Elemente eines einzelnen übergeordneten Elements vorhanden sind, gelten normale Iterationstechniken.

<?phpinclude &#39;example.php&#39;;
$movies = new SimpleXMLElement($xmlstr);
/* For each <character> node, we echo a separate <name>. */foreach ($movies->movie->characters->character as $character) {
echo $character->name, &#39; played by &#39;, $character->actor, PHP_EOL;}
?>
Nach dem Login kopieren

Die obige Routine gibt Folgendes aus:

Ms. Coder played by Onlivia Actora
Mr. Coder played by El ActÓr
Nach dem Login kopieren
Nach dem Login kopieren

Hinweis:

Eigenschaften ($movies->movie im vorherigen Beispiel) sind keine Arrays. Sie sind iterierbare und zugängliche Objekte.

Beispiel #5 Attribute verwenden

Bisher haben wir nur die Arbeit des Lesens von Elementnamen und ihren Werten behandelt. SimpleXML kann auch auf Elementattribute eines Elements zugreifen, genau wie Sie es auf Elemente eines Elements tun würden array.

<?phpinclude &#39;example.php&#39;;
$movies = new SimpleXMLElement($xmlstr);
/* Access the <rating> nodes of the first movie.* Output the rating scale, too. */
foreach ($movies->movie[0]->rating as $rating) {
switch((string) $rating[&#39;type&#39;]) { // Get attributes as element indicescase &#39;thumbs&#39;:echo $rating, &#39; thumbs up&#39;;
break;case &#39;stars&#39;:echo $rating, &#39; stars&#39;;break;}}
?>
Nach dem Login kopieren

Die obige Routine gibt Folgendes aus:

7 thumbs up5 stars
Nach dem Login kopieren

Beispiel #6 Vergleich von Elementen und Attributen mit Text

Zum Vergleichen eines Um ein Element oder Attribut mit einem String zu verbinden oder es an eine Funktion zu übergeben, die einen String erfordert, müssen Sie es mit (string) in einen String umwandeln. Andernfalls behandelt PHP das Element als Objekt.

<?phpinclude &#39;example.php&#39;;
$movies = new SimpleXMLElement($xmlstr);
if ((string) $movies->movie->title == &#39;PHP: Behind the Parser&#39;) {print &#39;My favorite movie.&#39;;}
echo htmlentities((string) $movies->movie->title);?>
Nach dem Login kopieren

Die obige Routine gibt Folgendes aus:

My favorite movie.PHP: Behind the Parser
Nach dem Login kopieren

Beispiel Nr. 7 Vergleich zweier Elemente

Zwei SimpleXMLElements werden als unterschiedlich betrachtet, auch wenn sie auf dasselbe Element verweisen seit PHP 5.2 .0.

<?phpinclude &#39;example.php&#39;;
$movies1 = new SimpleXMLElement($xmlstr);$movies2 = new SimpleXMLElement($xmlstr);
var_dump($movies1 == $movies2); // false since PHP 5.2.0?>
Nach dem Login kopieren

Die obige Routine gibt Folgendes aus:

bool(false)
Nach dem Login kopieren

Beispiel Nr. 8 mit XPath

SimpleXML enthält gebaut -in-Unterstützung. Um alle -Elemente zu finden:

<?phpinclude &#39;example.php&#39;;
$movies = new SimpleXMLElement($xmlstr);
foreach ($movies->xpath(&#39;//character&#39;) as $character) {
echo $character->name, &#39;played by &#39;, $character->actor, PHP_EOL;}?>
Nach dem Login kopieren

'//' dient als Platzhalter, um einen absoluten Pfad anzugeben der Schrägstriche .

Die obige Routine gibt Folgendes aus:

Ms. Coder played by Onlivia Actora
Mr. Coder played by El ActÓr
Nach dem Login kopieren
Nach dem Login kopieren

Beispiel #9 Werte festlegen

Daten in SimpleXML müssen nicht konstant sein. Das Objekt ermöglicht die Manipulation aller seiner Elemente.

<?phpinclude &#39;example.php&#39;;$movies = new SimpleXMLElement($xmlstr);
$movies->movie[0]->characters->character[0]->name = &#39;Miss Coder&#39;;
echo $movies->asXML();?>
Nach dem Login kopieren

Die obige Routine gibt Folgendes aus:



 
  PHP: Behind the Parser
  
   
    Miss Coder
    Onlivia Actora
   
   
    Mr. Coder
    El ActÓr
   
  
  
   So, this language. It&#39;s like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  
  
   PHP solves all my web problems
  
  7
  5
 
Nach dem Login kopieren

Beispiel #10 Elemente und Attribute hinzufügen

Seit PHP 5.1.3 bietet SimpleXML die Möglichkeit, problemlos untergeordnete Elemente und Attribute hinzuzufügen.

<?phpinclude &#39;example.php&#39;;$movies = new SimpleXMLElement($xmlstr);
$character = $movies->movie[0]->characters->addChild(&#39;character&#39;);$character->addChild(&#39;name&#39;, &#39;Mr. Parser&#39;);
$character->addChild(&#39;actor&#39;, &#39;John Doe&#39;);
$rating = $movies->movie[0]->addChild(&#39;rating&#39;, &#39;PG&#39;);$rating->addAttribute(&#39;type&#39;, &#39;mpaa&#39;);
echo $movies->asXML();?>
Nach dem Login kopieren

Die obige Routine gibt Folgendes aus:



 
  PHP: Behind the Parser
  
   
    Ms. Coder
    Onlivia Actora
   
   
    Mr. Coder
    El ActÓr
   
  Mr. ParserJohn Doe
  
   So, this language. It&#39;s like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  
  
   PHP solves all my web problems
  
  7
  5
 PG
Nach dem Login kopieren

Beispiel #11 DOM-Interoperabilität

PHP verfügt über einen Mechanismus zum Konvertieren von XML-Knoten zwischen SimpleXML- und DOM-Formaten. Dieses Beispiel zeigt, wie man ein DOM-Element in SimpleXML ändern kann.

<?php$dom = new DOMDocument;$dom->loadXML(&#39;<books><book>
<title>blah</title></book></books>&#39;);if (!$dom) {echo &#39;Error while parsing the document&#39;;exit;}
$books = simplexml_import_dom($dom);
echo $books->book[0]->title;?>
Nach dem Login kopieren

Oben Die Routine gibt Folgendes aus:

blah
Nach dem Login kopieren

Umgang mit XML-Fehlern

Beispiel Nr. 1: Laden einer fehlerhaften XML-Zeichenfolge

<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version=&#39;1.0&#39;><broken><xml></broken>");
if ($sxe === false) {
echo "Failed loading XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
?>
Nach dem Login kopieren

Das Obige Die Routine gibt Folgendes aus:

Failed loading XML
    Blank needed here
    parsing XML declaration: &#39;?>&#39; expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1
Nach dem Login kopieren


3. Verwandte Funktionen

  • simplexml_import_dom – Holen Sie sich ein SimpleXMLElement-Objekt von einem DOM-Knoten.

  • simplexml_load_file – Interpretiert eine XML-Datei in ein Objekt

  • simplexml_load_string – Interpretiert eine XML-Zeichenfolge in ein Objekt

4. Verwandte Klassen und Mitgliedsfunktionen

SimpleXMLElement-Klasse

  • SimpleXMLElement::addAttribute – Fügt dem SimpleXML-Element ein Attribut hinzu

  • SimpleXMLElement::addChild – Fügt dem XML-Knoten ein untergeordnetes Element hinzu

  • SimpleXMLElement::asXML – Gibt eine wohlgeformte XML-Zeichenfolge basierend auf zurück SimpleXML-Element

  • SimpleXMLElement::attributes – Identifiziert die Attribute eines Elements

  • SimpleXMLElement::children – Findet untergeordnete Elemente eines bestimmten Knotens

  • SimpleXMLElement::__construct – Erstellt ein neues SimpleXMLElement-Objekt

  • SimpleXMLElement::count – Zählt die untergeordneten Elemente eines Elements

  • SimpleXMLElement ::getDocNamespaces – Gibt im Dokument deklarierte Namespaces zurück

  • SimpleXMLElement::getName – Ruft den Namen des XML-Elements ab

  • SimpleXMLElement: :getNamespaces – Gibt im Dokument verwendete Namespaces zurück

  • SimpleXMLElement::registerXPathNamespace – Erstellt einen Präfix/NS-Kontext für die nächste XPath-Abfrage

  • SimpleXMLElement::saveXML – 别名 SimpleXMLElement::asXML

  • SimpleXMLElement::__toString – Gibt den String-Inhalt zurück

  • SimpleXMLElement::xpath – Führt eine XPath-Abfrage für XML-Daten aus

SimpleXMLIterator类

  • SimpleXMLIterator::current – Gibt das aktuelle Element zurück

  • SimpleXMLIterator::getChildren – Gibt zurück die Unterelemente des aktuellen Elements

  • SimpleXMLIterator::hasChildren  – Prüft, ob das aktuelle Element Unterelemente hat.

  • SimpleXMLIterator::key – Aktuellen Schlüssel zurückgeben

  • SimpleXMLIterator::next – Zum nächsten Element wechseln

  • SimpleXMLIterator::rewind – Zum ersten Element zurückspulen

  • SimpleXMLIterator::valid – Überprüfen Sie, ob das aktuelle Element gültig ist

以上就是PHP扩展之XML操作(一)——SimpleXML的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So überprüfen Sie, welche Erweiterungen in PHP verwendet werden So überprüfen Sie, welche Erweiterungen in PHP verwendet werden Aug 01, 2023 pm 04:13 PM

Sie können überprüfen, welche Erweiterungen von PHP verwendet werden, indem Sie die Ausgabe der Funktion phpinfo() anzeigen, Befehlszeilentools verwenden und die PHP-Konfigurationsdatei überprüfen. 1. Sehen Sie sich die Ausgabe der Funktion phpinfo() an, erstellen Sie ein einfaches PHP-Skript, speichern Sie dieses Skript als phpinfo.php und laden Sie es auf Ihren Webserver hoch. Suchen Sie einfach nach dem Schlüsselwort „extension“ oder „extension_loaded“ auf der Seite, um Informationen über die Erweiterung zu finden.

So erweitern Sie PDO mit PHP, um eine Verbindung zur Oracle-Datenbank herzustellen So erweitern Sie PDO mit PHP, um eine Verbindung zur Oracle-Datenbank herzustellen Jul 29, 2023 pm 07:21 PM

So erweitern Sie PDO mit PHP, um eine Verbindung zur Oracle-Datenbank herzustellen. Einführung: PHP ist eine sehr beliebte serverseitige Programmiersprache und Oracle ist ein häufig verwendetes relationales Datenbankverwaltungssystem. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Erweiterung PDO (PHPDataObjects) eine Verbindung zur Oracle-Datenbank herstellen. 1. Installieren Sie die PDO_OCI-Erweiterung. Um eine Verbindung zur Oracle-Datenbank herzustellen, müssen Sie zunächst die PDO_OCI-Erweiterung installieren. Hier sind die Schritte zum Installieren der PDO_OCI-Erweiterung: Stellen Sie sicher

So erweitern Sie die Berichtserstellungsfunktionalität von SuiteCRM mit PHP So erweitern Sie die Berichtserstellungsfunktionalität von SuiteCRM mit PHP Jul 19, 2023 am 10:27 AM

So erweitern Sie mit PHP die Berichtserstellungsfunktion von SuiteCRM SuiteCRM ist ein leistungsstarkes Open-Source-CRM-System, das umfangreiche Funktionen bietet, um Unternehmen bei der Verwaltung von Kundenbeziehungen zu unterstützen. Eine der wichtigen Funktionen ist die Berichterstellung. Mithilfe von Berichten können Unternehmen ihre Geschäftssituation besser verstehen und richtige Entscheidungen treffen. In diesem Artikel wird erläutert, wie Sie mit PHP die Berichtsgenerierungsfunktion von SuiteCRM erweitern und relevante Codebeispiele bereitstellen. Bevor Sie beginnen, müssen Sie sicherstellen, dass SuiteCRM installiert ist.

Erste Schritte mit PHP: Installation der PHP-Erweiterung Erste Schritte mit PHP: Installation der PHP-Erweiterung May 20, 2023 am 08:49 AM

Bei der Entwicklung mit PHP müssen wir möglicherweise einige PHP-Erweiterungen verwenden. Diese Erweiterungen können uns mehr Funktionen und Tools zur Verfügung stellen und unsere Entwicklungsarbeit effizienter und komfortabler machen. Bevor wir diese Erweiterungen verwenden können, müssen wir sie jedoch zunächst installieren. In diesem Artikel erfahren Sie, wie Sie PHP-Erweiterungen installieren. 1. Was ist eine PHP-Erweiterung? PHP-Erweiterungen beziehen sich auf Komponenten, die der Programmiersprache PHP zusätzliche Funktionen und Dienste bereitstellen. Diese Komponenten können über den Erweiterungsmechanismus von PHP installiert und verwendet werden. Die PHP-Erweiterung kann uns dabei helfen

Wie verwende ich die GeoIP-Erweiterung von PHP? Wie verwende ich die GeoIP-Erweiterung von PHP? Jun 01, 2023 am 09:13 AM

PHP ist eine beliebte serverseitige Skriptsprache, die dynamische Inhalte auf Webseiten verarbeiten kann. Mit der Geoip-Erweiterung für PHP können Sie Informationen über den Standort des Benutzers in PHP abrufen. In diesem Artikel erfahren Sie, wie Sie die Geoip-Erweiterung von PHP verwenden. Was ist die GeoIP-Erweiterung für PHP? Die GeoIP-Erweiterung für PHP ist eine kostenlose Open-Source-Erweiterung, mit der Sie Daten über IP-Adressen und Standortinformationen abrufen können. Diese Erweiterung kann mit der GeoIP-Datenbank verwendet werden, einer von MaxMin entwickelten Datenbank

PHP-Erweiterung und PHP-Versionsverwaltung von Pagoda Panel PHP-Erweiterung und PHP-Versionsverwaltung von Pagoda Panel Jun 21, 2023 am 08:49 AM

Pagoda Panel ist ein Open-Source-Serververwaltungspanel, das Website-Betreibern bequeme Website-Verwaltung, Datenbankverwaltung, SSL-Zertifikatsverwaltung und andere Dienste bietet, aber auch leistungsstarke PHP-Erweiterungs- und PHP-Versionsverwaltungsfunktionen bietet, die die Serververwaltung einfacher und einfacher machen effizient. 1. PHP-Erweiterung PHP-Erweiterung ist ein Modul zur Verbesserung von PHP-Funktionen. Durch die Installation von PHP-Erweiterungen können weitere Funktionen und Dienste implementiert werden, wie zum Beispiel: Accelerator: Accelerator kann die PHP-Leistung erheblich verbessern und die Dienstlast durch Zwischenspeichern von PHP-Skripten reduzieren.

Eingehende Untersuchung der PHP-Erweiterungsentwicklung: Entdecken Sie die Geheimnisse hinter den Kulissen der PHP-Erweiterungsentwicklung Eingehende Untersuchung der PHP-Erweiterungsentwicklung: Entdecken Sie die Geheimnisse hinter den Kulissen der PHP-Erweiterungsentwicklung Feb 19, 2024 pm 11:40 PM

Die Entwicklung von PHP-Erweiterungen ist die Kunst, benutzerdefinierte Funktionen zu erstellen, die PHP-Kernfunktionalität zu erweitern und leistungsfähigere Anwendungen zu erstellen. Es eröffnet neue Möglichkeiten in der PHP-Welt und ermöglicht es Entwicklern, die grundlegenden Einschränkungen der Sprache zu überwinden. Dieser Artikel nimmt Sie mit auf eine Reise durch die Entwicklung von PHP-Erweiterungen und vermittelt Ihnen umfassendes Wissen und praktische Anleitungen von grundlegenden Konzepten bis hin zu fortgeschrittenen Techniken. Grundlagen der Entwicklung von PHP-Erweiterungen Bevor Sie mit der Entwicklung von PHP-Erweiterungen beginnen, müssen Sie einige grundlegende Konzepte verstehen. Was sind PHP-Erweiterungen? Eine PHP-Erweiterung ist eine Dynamic Link Library (DLL), die die PHP-Kernfunktionalität erweitert und neue Datentypen, Funktionen und Klassen bereitstellt. Vorteile von PHP-Erweiterungen PHP-Erweiterungen bieten viele Vorteile, darunter Skalierbarkeit, Flexibilität, Leistungsoptimierung und Code-Wiederverwendung. PHP

Vollständige Anleitung: So lesen und verarbeiten Sie XML-Daten mit der PHP-Erweiterung SimpleXML Vollständige Anleitung: So lesen und verarbeiten Sie XML-Daten mit der PHP-Erweiterung SimpleXML Jul 28, 2023 pm 02:46 PM

Vollständiger Leitfaden: Lesen und Verarbeiten von XML-Daten mit der PHP-Erweiterung SimpleXML Einführung: In der modernen Webentwicklung ist die Verarbeitung und Bearbeitung von XML-Daten eine sehr häufige Aufgabe. Als leistungsstarke serverseitige Skriptsprache bietet PHP eine Vielzahl von Erweiterungen und Funktionen zur Verarbeitung und Manipulation von XML-Daten. Darunter ist die SimpleXML-Erweiterung ein besonders nützliches Tool, das den Prozess des Lesens und Verarbeitens von XML-Daten vereinfacht. In diesem Artikel erhalten Sie eine vollständige Anleitung zur Verwendung von PHP-Erweiterungen

See all articles