我有以下网址: 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行
我该如何解决?
答案 0 :(得分:2)
问题是,您只是向其发送的网址不是网页本身,请使用file_get_contents或cURL,然后将其发送到您的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);