共计 809 个字符,预计需要花费 3 分钟才能阅读完成。
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 对象我要的是数组,可不是对象啊
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));
}
}
}
正文完