以下是我php的测试代码:
<?php
error_reporting(E_ALL);
ini_set('display_errors', on);
//header('Content-Type:text/xml;charset=utf-8'); $url="http://cn.wowarmory.com/character-sheet.xml?r=Aggramar&n=Hugh";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,0);
$doc=curl_exec($ch);
curl_close($ch);
//print_r($doc);$armory = simplexml_load_string($doc);
$charinfo = $armory->characterInfo;
echo 'race is ' . $charinfo->character[0]['race'] . '<br/>';?>备注:如果这个url($url="http://cn.wowarmory.com/character-sheet.xml?r=Aggramar&n=Hugh";)里面的地址换成本地的一个现成的xml调用的话,可以顺利调用。但读取上面的这个地址的时候就是读不出来。我print出来发现获取的好想是html,解析不了。请教各位大大是不是这个问题。如果是这个问题的话,我如何获得上面网址的xml呢。这几天都快想枯竭了,呵呵。

解决方案 »

  1.   

    如果对方是xml,直接simplexml_load_file(url); 加载字串,如果是xml,按理也不会出问题,有时会有编码问题
      

  2.   

    如果print出来发现获取的好想是html,不是html,那就没有办法了,说明xml进行了相关处理,
    你得找到原始的xml地址
      

  3.   

    恩,谢谢了。这个很头痛啊。我朋友用perl抓下来的结果就是xml的。所以我觉得可能是我少了什么环节。
      

  4.   

    这个问题你看一下php的xml-rpc那章就知道了 这个明显是读取远程xml吗