我正在尝试使用 codeigniter & php 将我的 xml 文件中的数据保存到 mysql 数据库中。但是我找不到一种方法来转义特殊的 xml 字符以将我的数据从 xml 文件保存到我的表 cache_table 中。
Code:
$xml_source = str_replace(array("&", "&"), array("&", "&"),file_get_contents('XML/customer.xml'));
$xml = simplexml_load_string($xml_source);
foreach($xml as $row )
{
$attr = $row->attributes();
$results[] = array('CustomerAccountNumber' => $this->db->escape_str($attr->CustomerAccountNumber),'Desciption' => $this->db->escape_str($attr->Desciption) ):
$this->db->insert_batch('cache_cust',$results);
但我收到此错误:
错误:
simplexml_load_string():实体:第 37 行:解析器错误:属性值中不允许未转义的“<”。
客户.xml
<?xml version="1.0" standalone="yes"?>
<Rows>
<Row CustomerAccountNumber="12" Name="Arj" Desciption="PJ psm" />
<Row CustomerAccountNumber="1" Name="Aj" Desciption="*/Artic" />
<Row CustomerAccountNumber="2" Name="smla" Desciption="& light" />
<Row CustomerAccountNumber="3" Name="alik" Desciption="*/Artic" />
<Row CustomerAccountNumber="4" Name="wqla" Desciption="" />
<Row CustomerAccountNumber="5" Name="walij" Desciption="16-17" />
<Row CustomerAccountNumber="6" Name="li" Desciption="sales@llil.com" />
</Rows>
如何避免此错误并避免特殊的 xml 字符,以便我的代码将 xml 文件中的所有记录保存到数据库中?