[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:
(5069 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:
(5014 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:
(4922 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:
(4650 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]
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
09.12.2019

pre2media, Dammstrasse 8, 8610 Uster
Montag, 09. Dez. 2019, 18.13 - 18.14 Uhr

Referat

Alle reden davon – wir zeigen ihnen kompakt was in den einzelnen Programmen wirklich steckt. Sind die Programme von Affinity – bereits heute – eine Alternative zu den Adobe-Programmen? Was versteht Affinity unter StudioLink und der vollständigen Integration der Affinity-Apps.

10.00 bis 12.00 Affinity Photo Bildbearbeitung CHF 90.00 13.00 bis 15.00 Affinity Designer Grafikdesign CHF 90.00 15.00 bis 17.00 Affinity Publisher Layoutprogramm CHF 90.00 Alle drei Affinity Programme zusammen (6 Lektionen) CHF 220.00

Ja

Organisator: pre2media gmbh, Dammstrasse 8, 8610 Uster, info@pre2media.ch, www.pre2media.ch

Kontaktinformation: Roger Thurnherr, E-Mailinfo AT pre2media DOT ch

https://www.pre2media.ch/-1/de/kurse/affinity--referate-und-kurse/mo-9-dezember-2019--affinity-referate/252/

Affinity-Referat bei pre2media
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