парсит все xsd из папки и выводит определенные теги


<?php
$dir    = $_SERVER['DOCUMENT_ROOT']. '/upload/iblock';
$filesXsd = explode("\n",  shell_exec("find $dir/* -type f -name *.xsd") ) ;
$arr = [];

foreach ($filesXsd as $k=>$v){
    if (file_exists($v)){

        $xmlstring = file_get_contents($v);
        $xmlparser = xml_parser_create();
        xml_parse_into_struct($xmlparser,$xmlstring,$values , $index);
        xml_parser_free($xmlparser);

        $count = [];
        $names=[];
        for ($i=0; $i<count($values); $i++){
            if ($values[$i][tag] == 'EXTERNALFIELD'){
                $count[]= $i;
                $names[$i][engName]=$values[$i][value];
            }
        }

        foreach ($count as $key){
            for ($i=$key;$i>$key-17; $i--){
                if ($values[$i][tag] == 'DISPLAYNAME') {
                    $names[$key][rusName]=$values[$i][value];
                    break;
                }
            }
        }
        foreach ($names as $k1=>$v1){
            $arr[$v1[engName]]= $v1[rusName];
        }

    }

//    if ($k > 20 ) break;
}

foreach ($arr as $k1=>$v1){
    echo $k1." - " . $v1 . "<br>\n";
}