2010-04-06 123 views
0

抓住XML數據我用下面的代碼與捲曲:捲曲格式不正確

function _getStatsDataXMLString($url) { 

    $curl = curl_init(); 

    curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)'); 

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 

    curl_setopt($curl, CURLOPT_URL, $url); 

    $xmlstr = curl_exec($curl); 

    curl_close($curl); 

    return $xmlstr; 

} 

我試圖從抓住該網站是: http://xml.heroesofnewerth.com/xml_requester.php?f=player_stats&opt=nick&nick[]=yanagafol

每當我試着請求具有上述功能的數據時,它生成字符串是: yanagafol173957844341541169317315000150000.009142347141111962425534613119823402602572171277264755751031151494960762160734306050303782332556000164255279111749522139194314968322760755616358407012000000011

我得到了與print_r相同的打印輸出

它被正確隔開,但沒有任何xml標記信息,因此我無法將其轉換爲用於我的數據庫的對象。

任何幫助將不勝感激。

+0

如果您剛剛從瀏覽器抓取該用戶代理字符串,您可能需要升級它;) – Thomas 2010-04-06 19:48:06

+0

Naw,從一段較老的代碼中獲得它。我不明白cURL,如果你能幫助我,我將不勝感激。改變你說的話會使這項工作變得如何? – user310343 2010-04-06 19:50:14

+0

也許你需要發送'accept'頭文件來指示發送什麼類型的數據? – 2010-04-06 20:12:01

回答

1

嘗試使用htmlspecialchars,使他們打印出來的文字編碼字符串中的特殊字符:

$xmlstr = htmlspecialchars(curl_exec($curl)); 

逆是htmlspecialchars_decodehtmlentities給你什麼獲取編碼更多的控制。