PHP xml 转数组 数组转 xml 操作
XML转数组
直接上代码
$path = './data.xml'; $xml = simplexml_load_file($path); foreach($xml->children() as $child){ echo $child }
simplexml_load_file() 函数把 XML 文档载入对象中。
| file | 必需。规定要使用的 XML 文档。 |
| class | 可选。规定新对象的 class。 |
| options | 可选。规定附加的 Libxml 参数。 |
| ns | 可选。 |
| is_prefix | 可选。 |
返回一个SimpleXMLElement 对象如果是字符串怎么办?
$xml=simplexml_load_string($note); print_r($xml)
simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。
| data | 必需。规定形式良好的 XML 字符串。 |
| classname | 可选。规定新对象的 class。 |
返回一个SimpleXMLElement 对象
微信的xml之类的可以添加选项 将 CDATA 合并为文本节点simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
我要的是数组,可不是对象啊
SimpleXMLElement 对象转换数组,直接强转即可
$array = (array)$SimpleXMLElement;
数组转XML
多维数组递归转换XML
// 创建新的simpleXML实例,注入内存,确定根节点 $xml = new SimpleXMLElement('<root/>'); //数组转XML function arrayToXml($obj, $array) { foreach ($array as $k => $v) { if(is_numeric($k)) $k = 'item' . $k; if(is_array($v)){ $node = $obj->addChild($k); arrayToXml($node, $v); }else{ $obj->addChild($k, htmlspecialchars($v)); } } }
本作品采用《CC 协议》,转载必须注明作者和本文链接