无法在DOMDocument中加载URL

时间:2015-03-12 13:18:31

标签: php domdocument

我有以下网址: http://localhost:8000/PHPTrialProject/showPlace.php?lat=28.6139391&lng=77.20902120000005

我从中提取了查询字符串并存储在两个PHP变量中:

 $latitude=$_GET['lat'];
 $longitude=$_GET['lng'];
 echo("latitude is : ".$latitude);
 echo("longitude is : ".$longitude);

然后我将它们附加到我的下一个URL并尝试将其加载到DOMDocument中。我试过两种方法:

 $url="http://api.openweathermap.org/data/2.5/weather?lat=".$latitude."&lon=".$longitude;
 $xml3 = $url;
 $xmlDoc3 = new DOMDocument();
 $xmlDoc3->load($xml3);

 $xml3 = ("http://api.openweathermap.org/data/2.5/weather?lat=".$latitude."&lon=".$longitude);
 $xmlDoc3 = new DOMDocument();
 $xmlDoc3->load($xml3);

然而,他们都给我以下错误:

警告:DOMDocument :: load():期望开始标记,'<'在http://api.openweathermap.org/data/2.5/weather?lat=28.6139391&lon=77.20902120000005中没有找到,在第98行的C:\ xampp \ htdocs \ PHPTrialProject \ showPlace.php中的第1行

我该如何解决?

1 个答案:

答案 0 :(得分:2)

问题是,您只是向其发送的网址不是网页本身,请使用file_get_contentscURL,然后将其发送到您的DOM文档。

E.G

 $xml = file_get_contents("http://api.openweathermap.org/data/2.5/weather?lat=".$latitude."&lon=".$longitude);

 $xmlDoc3 = new DOMDocument();
 $xmlDoc3->load($xml);