php从远程url获取xml而不是文件

Pet*_*ton 5 php xml cross-domain

我试图从这个网址获取xml数据.

http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V 我可以直接在我的浏览器栏中输入网址并获得所需的结果.

我正在尝试使用下面的代码来获取xml并将其返回到我的浏览器,但现在在正确的域中,因此可以通过javascript访问它.

<!DOCTYPE html>
<html>
<head>
    <link type='text/css' rel='stylesheet' href='style.css'/>
    <title>Get Started!</title>
</head>
<body>
    <p><?php 
    /*echo file_get_contents("http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V");*/
    echo simplexml_load_file("http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V");
    ?></p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了file_get_contents和simplexml_load_file,但都没有解决

我认为问题在于url末尾没有文件.以下没有任何工作

Geo*_*ton 5

simplexml_load_file()返回一个对象而不是XML字符串。即使那样,使用您当前的代码,XML也会在HTML中丢失。以下内容等同于直接访问URL:

header('Content-type: application/xml');
echo file_get_contents('http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V');
Run Code Online (Sandbox Code Playgroud)

为了确保您可以解析XML,请尝试此操作。它加载XML并打印出根节点的名称-在本例中为ROOT

$xml = simplexml_load_file($url); //retrieve URL and parse XML content
echo $xml->getName(); // output name of root element
Run Code Online (Sandbox Code Playgroud)

这有帮助吗?