2010-04-06 136 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给你什么获取编码更多的控制。