simplexml_load_string不使用php转换特殊字符

时间:2019-03-12 10:01:48

标签: php curl php-curl

我正在尝试使用CURL请求将xml转换为json,并且特殊字符无法正确解码。

下面是我的代码

@property

1 个答案:

答案 0 :(得分:0)

尝试以下代码(您可以将file_get_contents()替换为带有cURL的函数)。

<?php
header('Content-type: text/html; charset=utf-8');

// converts XML content to JSON
// receives the URL address of the XML file. Returns a string with the JSON object
function XMLtoJSON($xml) {
  $xml_cnt = file_get_contents($xml);    // gets XML content from file
  $xml_cnt = str_replace(array("\n", "\r", "\t"), '', $xml_cnt);    // removes newlines, returns and tabs

  // replace double quotes with single quotes, to ensure the simple XML function can parse the XML
  $xml_cnt = trim(str_replace('"', "'", $xml_cnt));
  $simpleXml = simplexml_load_string($xml_cnt);

  return json_encode($simpleXml);    // returns a string with JSON object
}

echo XMLtoJSON('test1.xml');