Heim Backend-Entwicklung PHP-Problem So konvertieren Sie von Soap zurückgegebenes XML in ein Array in PHP

So konvertieren Sie von Soap zurückgegebenes XML in ein Array in PHP

Mar 31, 2023 am 09:09 AM

Wenn wir Webdienste nutzen und SOAP als Übertragungsprotokoll verwenden, erhalten wir ein Rückgabeergebnis im XML-Format. Manchmal müssen wir diese XML-Daten in ein Array konvertieren, damit wir diese Daten bequemer verwenden können. In PHP ist diese Konvertierung sehr einfach und wir können sie mithilfe der in PHP integrierten Funktionen durchführen.

1. Beispiel für einen SOAP-Rückgabewert im XML-Format

Bei der Verwendung von Webdiensten senden wir normalerweise Anfragen über das SOAP-Protokoll und erhalten ein Rückgabeergebnis im XML-Format. Die zurückgegebenen Ergebnisse im XML-Format können komplex sein, aber wir können es anhand einiger Beispiele verstehen. Das Folgende ist ein einfaches XML-Formatbeispiel für einen SOAP-Rückgabewert:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://localhost/webservice.php">
  <SOAP-ENV:Body>
    <ns1:response>
      <ns1:result>
        <name>John Smith</name>
        <age>30</age>
        <country>USA</country>
      </ns1:result>
      <ns1:result>
        <name>Alice Jones</name>
        <age>25</age>
        <country>UK</country>
      </ns1:result>
    </ns1:response>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Nach dem Login kopieren

Der obige XML-Code enthält ein Beispiel für einen SOAP-Rückgabewert. Sein Wurzelknoten ist <SOAP-ENV:Envelope>, der einen <SOAP-ENV:Body>-Knoten enthält, <SOAP-ENV Es gibt einen <code><ns1:response>-Knoten im :Body>-Knoten, und es gibt zwei <ns1:result>-Knoten in diesem Knoten. Jeder <ns1:result>-Knoten enthält drei Elementknoten: <name>, <age> und <country&gt ;. <SOAP-ENV:Envelope>,其中包含了一个<SOAP-ENV:Body>节点,<SOAP-ENV:Body>节点里面有一个<ns1:response>节点,这个节点里面有两个<ns1:result>节点。每个<ns1:result>节点包含了三个元素节点:<name><age><country>

这个XML返回值包含了两个人的信息,我们可以通过PHP将它转换成一个数组,方便我们处理这些数据。

二、使用PHP的simplexml_load_string()函数转换XML为数组

在PHP中,我们可以使用内置的simplexml_load_string()函数将XML转化为数组。在上面的XML例子中,我们可以使用以下PHP代码将它转为数组:

$xmlstr = '<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://localhost/webservice.php">
  <SOAP-ENV:Body>
    <ns1:response>
      <ns1:result>
        <name>John Smith</name>
        <age>30</age>
        <country>USA</country>
      </ns1:result>
      <ns1:result>
        <name>Alice Jones</name>
        <age>25</age>
        <country>UK</country>
      </ns1:result>
    </ns1:response>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>';

$xml = simplexml_load_string($xmlstr);
$json = json_encode($xml);
$array = json_decode($json, true);

print_r($array);
Nach dem Login kopieren

在上面的代码中,我们首先将XML字符串复制到$xmlstr变量中,然后使用simplexml_load_string()函数将它转换为一个PHP对象。接下来,我们使用json_encode()json_decode()函数将PHP对象转化为数组,最后使用print_r()函数打印出这个数组。

运行这个代码,我们将会得到以下的输出:

Array
(
    [response] => Array
        (
            [result] => Array
                (
                    [0] => Array
                        (
                            [name] => John Smith
                            [age] => 30
                            [country] => USA
                        )
                    [1] => Array
                        (
                            [name] => Alice Jones
                            [age] => 25
                            [country] => UK
                        )
                )
        )
)
Nach dem Login kopieren

上面的输出展示了一个PHP数组,其中包含了SOAP返回的XML转化后的数据。我们可以非常方便地使用这些数据进行处理。

三、使用PHP的SimpleXMLElement类

除了上面提到的simplexml_load_string()函数,我们还可以使用PHP内置的SimpleXMLElement类来转换XML为数组。

在下面的代码中,我们使用PHP内置的file_get_contents()函数从指定的URL中获取XML数据:

$xmlstr = file_get_contents('http://localhost/webservice.php');

$xml = new SimpleXMLElement($xmlstr);
$json = json_encode($xml);
$array = json_decode($json, true);

print_r($array);
Nach dem Login kopieren

上面的代码中,我们首先使用file_get_contents()函数获取XML数据,然后使用PHP内置的SimpleXMLElement类将XML转化为PHP对象。接下来,我们使用json_encode()json_decode()函数将PHP对象转换为数组,最后使用print_r()

Dieser XML-Rückgabewert enthält die Informationen von zwei Personen. Wir können ihn über PHP in ein Array konvertieren, um die Verarbeitung dieser Daten zu erleichtern.

2. Verwenden Sie die Funktion simplexml_load_string() von PHP, um XML in ein Array zu konvertieren.

In PHP können wir die integrierte Funktion simplexml_load_string() verwenden, um XML in ein Array zu konvertieren. Im obigen XML-Beispiel können wir es mit dem folgenden PHP-Code in ein Array konvertieren:

rrreee

Im obigen Code kopieren wir zuerst die XML-Zeichenfolge in die Variable $xmlstr und verwenden dann den simplexml_load_string() konvertiert es in ein PHP-Objekt. Als nächstes verwenden wir die Funktionen json_encode() und json_decode(), um das PHP-Objekt in ein Array zu konvertieren, und verwenden schließlich print_r() Funktion zum Ausdrucken dieses Arrays. 🎜🎜Führen Sie diesen Code aus, wir erhalten die folgende Ausgabe: 🎜rrreee🎜Die obige Ausgabe zeigt ein PHP-Array, das die von SOAP zurückgegebenen XML-transformierten Daten enthält. Diese Daten können wir sehr komfortabel für die Bearbeitung nutzen. 🎜🎜3. Verwenden Sie die SimpleXMLElement-Klasse von PHP🎜🎜Zusätzlich zur oben erwähnten Funktion simplexml_load_string() können wir auch die in PHP integrierte SimpleXMLElement-Klasse verwenden, um XML in ein Array zu konvertieren. 🎜🎜Im folgenden Code verwenden wir die in PHP integrierte Funktion file_get_contents(), um XML-Daten von der angegebenen URL abzurufen: 🎜rrreee🎜Im obigen Code verwenden wir zunächst die Funktion file_get_contents(), um Rufen Sie die XML-Daten ab und verwenden Sie dann die in PHP integrierte SimpleXMLElement-Klasse, um das XML in ein PHP-Objekt zu konvertieren. Als nächstes verwenden wir die Funktionen json_encode() und json_decode(), um das PHP-Objekt in ein Array zu konvertieren, und verwenden schließlich print_r() Funktion zum Ausdrucken des Ergebnisses. 🎜🎜Der obige Code ist dem vorherigen Beispiel sehr ähnlich. Der einzige Unterschied besteht darin, dass wir die SimpleXMLElement-Klasse verwenden, um XML in Objekte zu konvertieren. Nach der Konvertierung können wir diese Daten wie ein Array verwenden. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel wird erläutert, wie Sie die in PHP integrierten Funktionen verwenden, um die von SOAP zurückgegebenen XML-Daten in ein Array zu konvertieren. Diese Techniken können es uns erleichtern, den Rückgabewert des Webservices zu nutzen, wodurch unsere Entwicklung und Integration beschleunigt wird. Ob mit der Funktion simplexml_load_string() oder der Klasse SimpleXMLElement, wir können XML problemlos in ein PHP-Array konvertieren. 🎜

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie von Soap zurückgegebenes XML in ein Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

OWASP Top 10 PHP: Beschreiben und mildern gemeinsame Schwachstellen. OWASP Top 10 PHP: Beschreiben und mildern gemeinsame Schwachstellen. Mar 26, 2025 pm 04:13 PM

In dem Artikel werden OWASP Top 10 Schwachstellen in PHP- und Minderungsstrategien erörtert. Zu den wichtigsten Problemen gehören die Injektion, die kaputte Authentifizierung und XSS mit empfohlenen Tools zur Überwachung und Sicherung von PHP -Anwendungen.

PHP 8 JIT (Just-in-Time) -Kompilation: Wie es die Leistung verbessert. PHP 8 JIT (Just-in-Time) -Kompilation: Wie es die Leistung verbessert. Mar 25, 2025 am 10:37 AM

Die JIT -Kompilierung von PHP 8 verbessert die Leistung, indem häufig ausgeführte Code in den Maschinencode zusammengestellt wird, um Anwendungen mit schweren Berechnungen zugute und die Ausführungszeiten zu reduzieren.

PHP Secure-Datei-Uploads: Verhindern von Sicherheitslücken im Zusammenhang mit Datei. PHP Secure-Datei-Uploads: Verhindern von Sicherheitslücken im Zusammenhang mit Datei. Mar 26, 2025 pm 04:18 PM

In dem Artikel wird das Sicherung von PHP -Dateien -Uploads erläutert, um Schwachstellen wie die Code -Injektion zu verhindern. Es konzentriert sich auf die Dateitypvalidierung, den sicheren Speicher und die Fehlerbehandlung, um die Anwendungssicherheit zu verbessern.

PHP -Verschlüsselung: Symmetrische und asymmetrische Verschlüsselung. PHP -Verschlüsselung: Symmetrische und asymmetrische Verschlüsselung. Mar 25, 2025 pm 03:12 PM

In dem Artikel wird die symmetrische und asymmetrische Verschlüsselung in PHP erörtert und ihre Eignung, Leistung und Sicherheitsunterschiede verglichen. Die symmetrische Verschlüsselung ist schneller und für Massendaten geeignet, während asymmetrisch für den sicheren Schlüsselaustausch verwendet wird.

PHP -Authentifizierung & amp; Autorisierung: sichere Implementierung. PHP -Authentifizierung & amp; Autorisierung: sichere Implementierung. Mar 25, 2025 pm 03:06 PM

In dem Artikel wird die Implementierung einer robusten Authentifizierung und Autorisierung in PHP erörtert, um den nicht autorisierten Zugriff zu verhindern, Best Practices zu beschreiben und sicherheitsrelevante Tools zu empfehlen.

PHP -API -Rate Begrenzung: Implementierungsstrategien. PHP -API -Rate Begrenzung: Implementierungsstrategien. Mar 26, 2025 pm 04:16 PM

In dem Artikel werden Strategien zur Implementierung der API-Rate in PHP erörtert, einschließlich Algorithmen wie Token-Bucket und Leaky Bucket sowie Bibliotheken wie Symfony/Rate-Limiter. Es deckt auch die Überwachung, die dynamischen Einstellungsgeschwindigkeiten und die Hand ab

PHP -Eingabevalidierung: Best Practices. PHP -Eingabevalidierung: Best Practices. Mar 26, 2025 pm 04:17 PM

In Artikel werden Best Practices für die Validierung der PHP-Eingabe erörtert, um die Sicherheit zu verbessern und sich auf Techniken wie die Verwendung integrierter Funktionen, den Whitelist-Ansatz und die serverseitige Validierung zu konzentrieren.

PHP -CSRF -Schutz: Wie Sie CSRF -Angriffe verhindern. PHP -CSRF -Schutz: Wie Sie CSRF -Angriffe verhindern. Mar 25, 2025 pm 03:05 PM

In dem Artikel werden Strategien erörtert, um CSRF-Angriffe in PHP zu verhindern, einschließlich der Verwendung von CSRF-Token, selben Cookies und ordnungsgemäßem Sitzungsmanagement.

See all articles