【问题标题】:Can't get the xml because of a html line before first tag由于第一个标记之前的 html 行,无法获取 xml
【发布时间】:2016-09-15 12:49:19
【问题描述】:

我想获取如下url的xml内容,改成Json:link

不幸的是,之前有一段html所以我无法获取xml: “此 XML 文件似乎没有任何关联的样式信息。文档树如下所示。”

我收到以下错误:

Warning: simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found in /Users/nicolasleroux/Sites/YouTube-Closed-Captions-master/closed-captions.php on line 56

这是我的代码using this librairy to convert xml to Json:

$xmlNode = simplexml_load_string($baseUrl);
$arrayData = xmlToArray($xmlNode);
echo json_encode($arrayData);

$baseUrl 是 Youtube 字幕的 URL。

感谢您的帮助。

【问题讨论】:

    标签: php json xml


    【解决方案1】:

    您需要将 XML 内容传递给 simplexml_load_string 函数,因为我看到您传递了一个 url。

    尝试将内容加载到新变量中并将该变量传递给函数,如下所示

    $xmlData = file_get_contents($baseUrl)
    
    $xmlNode = simplexml_load_string($xmlData);
    

    或者使用 CURL

    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://www.youtube.com/api/timedtext?key=yttt1&expire=1473964248&caps=asr&sparams=asr_langs%2Ccaps%2Cv%2Cexpire&signature=616905FBCCA3D1416505086247C279F998C4E540.940715461068C48B432B6B1A3AD33628C450CF86&v=WlaoL3A9ros&hl=fr_FR&asr_langs=it%2Cko%2Cfr%2Cen%2Cpt%2Cja%2Cnl%2Ces%2Cde%2Cru&type=track&lang=en&name=&kind=asr&fmt=1",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "GET",
    ));
    
    $response = curl_exec($curl);
    $err = curl_error($curl);
    
    curl_close($curl);
    
    if ($err) {
        echo "cURL Error #:" . $err;
    } else {
        $xmlNode = simplexml_load_string($response);
        //var_dump($xmlNode);
        $arrayData = xmlToArray($xmlNode);
        echo json_encode($arrayData);
    }
    

    【讨论】:

    • 谢谢,不幸的是,file_get_contents() 不起作用,没有加载内容我不知道为什么......
    • 您的互联网连接是否使用了代理?
    • 它对我来说没有问题,请确保您将格式正确的文件传递给 file_get_contents() 或 CURLOPT_URL ,我用我使用的代码
    猜你喜欢
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    相关资源
    最近更新 更多