[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: 2

21. Okt 2019, 18:52
Beitrag # 1 von 4
Bewertung:
(5533 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: 114

23. Okt 2019, 03:22
Beitrag # 2 von 4
Beitrag ID: #572475
Bewertung:
(5478 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.

*************************************
Chris Würsch
http://www.chriswuersch.com
*************************************


als Antwort auf: [#572436]

JSON in XML umwandeln

affiliator
Beiträge gesamt: 2

23. Okt 2019, 11:00
Beitrag # 3 von 4
Beitrag ID: #572497
Bewertung:
(5386 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: 114

29. Okt 2019, 03:28
Beitrag # 4 von 4
Beitrag ID: #572579
Bewertung:
(5114 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.

*************************************
Chris Würsch
http://www.chriswuersch.com
*************************************


als Antwort auf: [#572497]
Hier Klicken X
Hier Klicken

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
12.12.2019

Ortsunabhängig
Donnerstag, 12. Dez. 2019, 10.00 - 10.30 Uhr

Webinar

In diesem ca. halbstündigen kostenlosen Webinar stellen wir Ihnen die Neuerungen in der Version 2019 von Enfocus PitStop Pro vor.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=249

Enfocus PitStop 2019
Veranstaltungen
19.12.2019

Ortsunabhängig
Donnerstag, 19. Dez. 2019, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen anhand konkreter Workflows die Möglichkeiten und Vorteile einer automatischen PDF-Prüfung und -Korrektur vor.

halbstündig, kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=113

Switch PDF Automation Server
Hier Klicken