[GastForen Programmierung/Entwicklung PHP und MySQL JSON in XML umwandeln

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

JSON in XML umwandeln

affiliator
Beiträge gesamt: 3

21. Okt 2019, 18:52
Beitrag # 1 von 5
Bewertung:
(63163 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi, liebe Entwickler

Kann mir jemand helfen, dieses Script so anzupassen, dass die Daten in einem sauberen XML-Format anstatt im JSON-Format ausgegeben werden?


<?php
$url = 'https://cct.connects.ch/api/v1/index.php/partner/promotions';
$method = 'GET';
$privateHash = 'SXSezQj41tmhUAkOsYEKjPlGI1pPAo7LbzgEToVY3Uaf05GB6Wreh3zzYYPTlfYu';

$headers = array(
'Accept: application/json',
'Content-Type: application/json',
'lea-Public: BdOj1M3maDs6pOIYxecdO0eL2gT7Pbxp4s2OiI3VDLnc6IVsXh8TORDwYa13XWc6'
);

$data = json_encode(
array(
)
);

if( strlen( $data ) <= 2 )
$data = '';

//lea-Hash erstellen, es werden Kleinbuchstaben erwartet
$headers[] = 'lea-Hash: '. hash_hmac('sha256', $data, $privateHash);


$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);

switch($method) {
case 'GET':
break;
case 'POST':
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
break;
case 'PUT':
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
break;
case 'DELETE':
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, 'DELETE');
break;
}

$response = curl_exec($handle);
$code = curl_getinfo($handle, CURLINFO_HTTP_CODE);
echo $code . '<br />'; //Status Code der API
echo '<pre>' . print_r( json_decode( $response ), 1 ) . '</pre>';
X

JSON in XML umwandeln

crisies
  
Beiträge gesamt: 138

23. Okt 2019, 03:22
Beitrag # 2 von 5
Beitrag ID: #572475
Bewertung:
(63108 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi affiliator,

Evtl. solltest Du direkt den JSON Code (mit Beispiel Daten) anstatt dem Private-KEY etc. posten ;)

Generell müsstest Du via json_decode() zuerst ein "normales" PHP-Array aus dem JSON-String machen und danach dieses via simpleXML oder eigener Funktion nach XML umwandeln.

Suche mal nach php Array2XML. Dazu findest Du einfachste Funktionen sowie ganze Klassen oder Projekte bei GIT, jenachdem wie dein JSON-String oder das daraus resultierende Array daher kommt und deine Anforderungen an das XML angeht, geht das Eine oder Andere...

lg
chris.w.


als Antwort auf: [#572436]

JSON in XML umwandeln

affiliator
Beiträge gesamt: 3

23. Okt 2019, 11:00
Beitrag # 3 von 5
Beitrag ID: #572497
Bewertung:
(63016 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Chris

Danke für den Hinweis betr. Private Key... Habe auf Deinen Hinweis hin die API Keys erneuert, damit niemand mit meinem Code Unfug treiben kann...

Kannst Du mir evt. etwas genauer sagen, wo und wie ich die Funktion json_decode() in diesem Script einbauen muss?

Ich habe dies früher schon mal versucht, aber meine diletantischen Versuche waren leider nicht erfolgreich...


als Antwort auf: [#572475]

JSON in XML umwandeln

crisies
  
Beiträge gesamt: 138

29. Okt 2019, 03:28
Beitrag # 4 von 5
Beitrag ID: #572579
Bewertung:
(62744 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi affiliator,

Du hast den Befehl eigentlich ganz unten bereits in deinem Script eingebaut:

Code
echo '<pre>' . print_r( json_decode( $response ), 1 ) . '</pre>'; 


Nun müsstest Du anstatt das print_r etc. das von json_decode gelieferte Ergebniss nach XML umwandeln. Salop gesagt:

Code
array2xml(json_decode( $response )) 

Das geht so natürlich nicht, geht ja aber um die Idee und hoffe Du verstehst was ich meine.

lg
chris.w.


als Antwort auf: [#572497]

JSON in XML umwandeln

affiliator
Beiträge gesamt: 3

14. Jan 2020, 13:59
Beitrag # 5 von 5
Beitrag ID: #573575
Bewertung:
(55616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Chris

Danke für Deinen Input. Deinen Gedanken hatte ich auch schon, und ich habe versucht, dies mit meinen äusserst geringen php-Kenntnissen umzusetzen, leider ohne Erfolg.

Ich habe das Projekt in der Zwischenzeit etwas vernachlässigt, möchte es nun aber nochmals aufgreifen.

Kannst Du mir etwas detaillierter weiterhelfen?

Besten Dank!


als Antwort auf: [#572579]
X