Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php XML分析错误:第769列第1行错误:编码错误_Php_Xml_Json - Fatal编程技术网

Php XML分析错误:第769列第1行错误:编码错误

Php XML分析错误:第769列第1行错误:编码错误,php,xml,json,Php,Xml,Json,这个问题是从这里开始的前一个问题的延伸 我添加了一段代码来列出姓名和电话号码 if(isset(${'Action'}) && ${'Action Type'}){ if(${'Action'} == 'get'){ if(${'Limit'} != ''){ $limit = ' LIMIT '.${'Limit'}.'';

这个问题是从这里开始的前一个问题的延伸

我添加了一段代码来列出姓名和电话号码

if(isset(${'Action'}) && ${'Action Type'}){
                if(${'Action'} == 'get'){
                    if(${'Limit'} != ''){
                        $limit = ' LIMIT '.${'Limit'}.'';
                    } else {
                        $limit = '';
                    }
                    $i = 1;
                    ${'Response'}['numbers'] = array();
                    ${'Query'} = mysql_query('SELECT * FROM `crm`.`accounts` WHERE `acquired_via` = "Scrubbed account" AND `sent_to_dialer` = "0"'.$limit);
                    while(${'Row'} = mysql_fetch_assoc(${'Query'})){
                        ${'Response'}['numbers']['number_'.$i] = array('Company_Name' => ${'Row'}['company_name'], 'Contact_First_Name' => ${'Row'}['contact_fname'], 'Contact_Last_Name' => ${'Row'}['contact_lname'], 'Office_Phone' => removeCHARSphone(${'Row'}['office_phone']), 'Mobile_Phone' => removeCHARSphone(${'Row'}['mobile_phone']));
                        $i++;
                    }
                }elseif(${'Action'} == 'details'){

                }
            }
这破坏了XML


但是JSON保持原样…

您需要避开XML内容中的任何符号和尖括号

所以
&
应该变成,
&
应该变成

最简单的方法可能是使用
str\u replace
这样的调用:

$string = str_replace(
  array('&', '<', '>'),
  array('&amp;', '&lt;', '&gt;'),
  $string);
$string=str\u replace(
数组('&',''),
数组(“&;”、“,”),
$string);

用&;替换所有&;<使用>和,您应该了解如何使用
arrayToXML()
函数,问题就在这里。
htmlentities()
不是比
stru replace()更容易吗
?@Barmar htmlentities的问题是,它还将替换您不希望替换的任何数量的实体,并且xml不支持这些实体。令人惊讶的是,没有类似的
xmlentities()
函数。@Barmar我可能不得不收回这一点-查看文档,似乎可以为xml设置标志。这对我来说是新的。看起来它是在5.4.0中添加的。因此,这取决于您需要支持哪些版本。