PHP 将 XML 转换成数组或对象
参考
参考文章
输出错误数据
# 输出错误
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if ($sxe === false) {
echo "加载 XML 错误\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
xml转数组或对象
$xml_data = "<xml><appid>123456</appid></xml>"; // XML数据
libxml_use_internal_errors(true); // 当数据非xml格式时不报错 将错误数据保存在 libxml_get_errors() 中
$xml_object = simplexml_load_string($xml_data); // 将 XML数据 转换成 对象
$xml_json = json_encode($xml_object); // 将 对象 转换成 JSON
$xml_array = json_decode($xml_json, true); // 将 json 转换成 数组
# 合并写法 从易读角度不建议使用此写法
$arr = json_decode(json_encode((array)simplexml_load_string($xml_data)), true);