PHP cURL, XML yanıtı ayıklamak

3 Cevap php

Ben bir sunucu üzerinde PHP cURL yöntemi uyguluyorum ve yanıt XML türüdür. cURL bir sayısal tür değişken (etiketleri çıkardıktan sonra) çıkış tasarruf edilir. Bu ayrıştırmak kolay, böylece bir nesne / karma / dizi depolamak için bir yolu var mı?

3 Cevap

Sadece XML yanıt ekokardiyogra önce header('Content-type: application/xml'); ekleyebilir ve bir XML sayfasını göreceksiniz.

hayır, CURL ayrıştırma XML ile herhangi bir şey yok, iade içeriği hakkında hiçbir şey bilmiyor. Bu içeriği almak için bir vekil olarak hizmet vermektedir. onunla ne yapacağını size kalmış.

use JSON if possible (and json_decode) - it's easier to work with, if not possible, use any XML library for parsin such as DOMXML: http://php.net/domxml

Örnek:

<songs>
<song dateplayed="2011-07-24 19:40:26">
    <title>I left my heart on Europa</title>
    <artist>Ship of Nomads</artist>
</song>
<song dateplayed="2011-07-24 19:27:42">
    <title>Oh Ganymede</title>
    <artist>Beefachanga</artist>
</song>
<song dateplayed="2011-07-24 19:23:50">
    <title>Kallichore</title>
    <artist>Jewitt K. Sheppard</artist>
</song>

sonra:

<?php
$mysongs = simplexml_load_file('songs.xml');
echo $mysongs->song[0]->artist;
?>

Çıktı tarayıcınızda: Ship of Nomads

Credit: http://blog.teamtreehouse.com/how-to-parse-xml-with-php5