6

この URL から xml データを取得しようとしています。

http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V ブラウザ バーに URL を直接入力して、必要な結果を得ることができます。

以下のコードを使用して 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>

file_get_contents と simplexml_load_file の両方を試しましたが、どちらもうまくいきませんでした

問題は、URL の末尾にファイルがないという事実にあると想定していました。これまでのところ、以下のいずれも機能していません

4

3 に答える 3

7

simplexml_load_file()XML 文字列ではなくオブジェクトを返します。それでも、現在のコードでは、XML は HTML 内で失われます。以下は、URL に直接アクセスすることと同じです。

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

XML を解析できることを確認するには、これを試してください。XML をロードし、ルート ノードの名前 (この場合はROOT ) を出力します。

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

これは役に立ちますか?

于 2013-09-13T13:32:57.253 に答える
2

のドキュメントを参照してください。

http://php.net/manual/en/simplexml_load_file

出力を印刷する例

<?php
    $xml = simplexml_load_file('http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V');
    print_r($xml);
?>

またはマニュアルを確認してください

http://php.net/manual/en/function.echo.php

file_get_contents() で返された文字列を出力する

<?php
    $xml = file_get_contents("http://cloud.tfl.gov.uk/TrackerNet/PredictionSummary/V");
    echo $xml;
?>
于 2013-09-13T13:29:48.440 に答える
0

これを試してください...私のために働いた..シンプルで簡単..

<?php
 $url=file_get_contents('http://www.w3schools.com/php/note.xml');
 $xml = new SimpleXMLElement($url);

 echo $xml->to;

 ?>
于 2016-08-16T13:28:29.660 に答える