无法在 DOMDocument 中加载 URL

Unable to load URL in DOMDocument

我有以下 URL : 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 中找不到“<”,行:C:\xampp\htdocs\PHPTrialProject\showPlace.php 中的第 1 行98

如何解决?

问题是您只是向它发送 URL 而不是页面本身,使用 file_get_contents or 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);