PHP數組與xml互相轉換


1.數組轉xml

function arrayToXml($arr) {
$xml = "<xml>";
foreach ($arr as $key => $val){
if (is_numeric($val)){
$xml.="<$key>$val</$key>";
}
else
$xml.="<$key><![CDATA[$val]]></$key>";
}
$xml.="</xml>";
return $xml;
}

舉例:

$array = [
'username' =>'zhangsan',
'sex' => '男',
'age' =>20
];

$xml = arrayToXml($array);
echo $xml;
結果如下:
 <xml>
<username>
<![CDATA[zhangsan]]>
</username>
<sex>
<![CDATA[男]]>
</sex>
<age>20</age>
</xml>

2.xml轉數組
function xmlToArray($xml) {
$arr = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
return $arr;
}

舉例:
$xml = "<xml><username><![CDATA[zhangsan]]></username><sex><![CDATA[男]]></sex><age>20</age></xml>";

$arr = xmlToArray($xml);
print_r($arr);

結果如下:

       Array
    (
        [username] => zhangsan
        [sex] => 男
        [age] => 20
)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM