てきとーに

function parseXML($node) {
  switch ($node->nodeType) {
   case XML_ELEMENT_NODE:
    $a = array();
    for ($i = 0; $i < $node->childNodes->length; $i++) {
      if ($rs = parseXML($node->childNodes->item($i))) {
        $a[] = $rs;
      }
    }
    return $a;
   case XML_TEXT_NODE:
   case XML_CDATA_SECTION_NODE:
    return $node->data;
   case XML_DOCUMENT_NODE:
    return parseXML($node->documentElement);
   default:
    return null;
  }
}