本文演示了php二维数组转换成xml和xml转换成二维数组的两个简单方法。xml源代码请查看源文件。
数组转XML
function arrayToXml($arr, $dom = 0, $item = 0) {
if (!$dom) {
$dom = new DOMDocument("1.0");
}
if (!$item) {
$item = $dom->createElement("root");
$dom->appendChild($item);
}
foreach ($arr as $key => $val) {
$itemx = $dom->createElement(is_string($key) ? $key : "item");
$item->appendChild($itemx);
if (!is_array($val)) {
$text = $dom->createTextNode($val);
$itemx->appendChild($text);
} else {
arrayToXml($val, $dom, $itemx);
}
}
return $dom->saveXML();
}
function arrayToXml2($arr) {
$xml = "<xml>";
foreach ($arr as $key => $val) {
if (is_array($val)) {
$xml.="<" . $key . ">" . arrayToXml($val) . "</" . $key . ">";
} else {
$xml.="<" . $key . ">" . $val . "</" . $key . ">";
}
}
$xml.="</xml>";
return $xml;
}
//将XML转为array
function xmlToArray($xml) {
//禁止引用外部xml实体
libxml_disable_entity_loader(true);
$xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
$val = json_decode(json_encode($xmlstring), true);
return $val;
}
<strong>数组转换xml(右击鼠标请查看源文件):</strong>
<p>
<?php print_r($result); ?>
</p>
<strong> xml转换数组:</strong>
<p>
<pre>
<?php print_r($xmls); ?>
</pre>
系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791