您现在的位置是:PHP将XML转换成数组
PHP将XML转换成数组
简单的XML
public static function xmlToArray($xml) { libxml_disable_entity_loader(true); $result = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); if( is_array($result) ) { return $result; } return array(); }
带名字空间的XML
//xml转array public static function xmlToArray($xml) { if( !$xml || empty($xml) ){ return array(); } $dom = new DOMDocument(); $dom->loadXML($xml); return self::getArray($dom->documentElement); } private static function getArray($node) { $array = false; if ($node->hasAttributes()) { foreach ($node->attributes as $attr) { $array[$attr->nodeName] = $attr->nodeValue; } } if ($node->hasChildNodes()) { if ($node->childNodes->length == 1) { $array[$node->firstChild->nodeName] = self::getArray($node->firstChild); } else { foreach ($node->childNodes as $childNode) { if ($childNode->nodeType != XML_TEXT_NODE) { $array[$childNode->nodeName][] = self::getArray($childNode); } } } } else { return $node->nodeValue; } return $array; }
站长简介
姓名:喻理
微信:yuli0927
邮箱:yuli0927@126.com
不懂业务的运维工程师不是一个好程序员。
微信:yuli0927
邮箱:yuli0927@126.com
不懂业务的运维工程师不是一个好程序员。
分类
最新文章
热门文章
- 微信支付退款结果通知解密
- Linux修改密码提示passwd /usr/share/cracklib/pw_dict: error reading header
- 到ICANN投诉三五互联获取域名转移密码成功
- {"errcode":45047,"errmsg":"out of response count limit hint]"}
- 微信html弹出点击右上角分享到朋友圈
- CentOS使用chkconfig提示systemctl enable xxxx.service
- PHP将B转换为KB、MB、GB
- Apache禁用TRACE Method和添加X-frame-options响应头
- mysqld_safe Number of processes running now
- 构建微信公众号被动回复image图片消息xml