1

我是 PHP 的绝对初学者。很抱歉有一个非常基本的 API 问题。我在编码时卡住了,我需要调用一个返回 XML 或 JSON 的 URL。现在我必须在一个变量中捕获它。

例如,我编写了以下代码:

class Search {
   private $documents = array();
   public function __construct() {
      $xmlDoc = new DOMDocument();
      $xmlDoc->load("solr.xml");
      .....

现在我直接加载一个 XML。我不想这样做,而是:

第 1 步:我想调用一个返回 XML 或 JSON 的 http url。
Step2:我需要将它存储在像上面的 xmlDoc 这样的变量中
Step3:然后我当然想解析它。

我对第 3 步没有任何问题,但我只需要一些关于如何完成第 1 步和第 2 步的指示或帮助?

4

2 回答 2

4

load应该接受一个 URL 作为参数。

$xmlDoc = new DOMDocument();
$xmlDoc->load('http://example.com/path/to/file.xml');

或者,您可以使用file_get_contents将 URL 下载到字符串。

$xml = file_get_contents('http://example.com/path/to/file.xml');
$xmlDoc = new DOMDocument();
$xmlDoc->loadXML($xml);

或者对于 JSON:

$json = json_decode(file_get_contents('http://example.com/path/to/file.json'));
于 2012-04-25T20:29:29.753 回答
0

要使用 Json 执行此操作,您首先需要一个包含一些 json 变量的页面。

  1. 您可以通过键入以下内容自己执行此操作:

    $jsonVar = array('var1','var2'); // several variables
    echo encode_json($jsonVar);
    
  2. 您可以通过键入以下内容访问这些变量:

    $jsonUrl = 'http://example.com/json.php';
    $jsonUrl = json_decode(file_get_contents($jsonUrl));
    
  3. 要显示这些变量之一,您可以键入:

    echo $jsonUrl[1]; // you can use print_r($jsonUrl); //for displaying the right array numbers to access the vars
    
于 2012-04-25T20:42:13.897 回答