「PHP」XMLを配列に変換するコード
phpコード
function xml2ArrFunc($xmlResource, $flag=true) {
if ($flag === true) {
$dom = new DOMDocument();
$dom->loadXML($xmlResource);
$xmlResource = $dom->documentElement;
$rootNodeName = $xmlResource->nodeName;
}
$result = false;
if ($xmlResource->hasChildNodes()) {
foreach ($xmlResource->childNodes as $childNode) {
if ($childNode->nodeType != XML_TEXT_NODE) {
if ($childNode->hasAttribute('name’)) {
$key = $childNode->getAttribute('name’);
} else {
$key = $childNode->nodeName;
}
$child = xml2ArrFunc($childNode, false);
if ($child===false) {
$result[$key] = $childNode->nodeValue;
} else {
$result[$key] = $child;
}
}
}
}
return $flag===true?array($rootNodeName=>$result):$result;
}