Box API 响应中的“注释未终止”XML 解析错误


"Comment not terminated" XML parsing error in Box API response

几个月来,我一直在运行Angela R的"Box Rest Client"库,它使用以下代码来解析来自box API的curl响应:

$xml = simplexml_load_string($res);

今天,在代码循环处理数十个请求/响应后,我生成了以下错误:

错误异常 [ 警告 ]: simplexml_load_string((: 实体: 第 9 行: 解析器错误:注释未终止

这发生在连续 2 次尝试运行代码中 - 现在似乎已经消失了,没有任何更改。

有兴趣,如果有人知道这是怎么回事?

如果它对使用此库的任何人都有用,我已经抓住了这种情况(在 box api 2.0 弃用之前的下个月左右(

private function parse_result($res) {
 try {
      $xml = simplexml_load_string($res);
  $json = json_encode($xml);
  $array = json_decode($json,TRUE);     
  return $array;
 } catch (Exception $e){    
    $error = 'xml parsing error: '. $e->getMessage(). "<br>";
  return array('status' => $error );
 }
}

它可能与在 HTML 注释中包含两个减号有关。 例如:

<!-- this is my comment--but not a very good one. -->

注释中间的两个破折号会导致解析器出现问题。