Speichern einer XML-Antwort (transient)?

Ich habe nicht viel mit XML gearbeitet, daher treffe ich ein bisschen eine Wand:

function getapi() { $api_response = wp_remote_get( "http://example.com/getXML" ); $data = wp_remote_retrieve_body( $api_response ); $output = new SimpleXMLElement ($data ); return $output; } 

Erhalte oder setze den Transienten

 function transient() { $transient = get_transient( 'transient_value' ); if ( ! $transient ) { $transient = getapi(); set_transient( 'transient_value', $transient, 180 ); } return $transient; } 

Ich kann die Daten leicht anzeigen, aber wenn ich sie aus einer gespeicherten Transienten-Datei abrufe, wird dieser Fehler angezeigt:

 Node no longer exists in C:\xampplite\htdocs\... 

Ich bin mir nicht sicher, welchen zusätzlichen Schritt ich ausführen muss, um die Daten korrekt zu speichern.

Danke vielmals!

Noel

Solutions Collecting From Web of "Speichern einer XML-Antwort (transient)?"

Laut diesem Ticket :

Objektbibliothekenstrukturen von Drittanbietern können nicht serialisiert werden. Muss die XML-Datei serialisieren (in eine Zeichenfolge) und diese in der Sitzung speichern und die XML-Datei erneut laden, wenn sie aus der Sitzung wiederhergestellt wird

Wenn Sie Objekte in Transienten speichern, werden sie serialisiert und nicht alle Objekte sind dazu in der Lage.

Speichern Sie textuelle XML-Daten stattdessen in transient.