Есть XML файл выгрузки товаров с 1С. Мне нужно написать свой обработчик под свои нужды. Могу ли я как-то менять XML файл?
switch($modx->event->name){
    case 'mSyncOnBeforeImport':
        switch($mode){
            case 'catalog':
                $document = new DOMDocument();
                $modx->log(4,$filename);
                $document->load($filename);
                
                $documentElement = $document->documentElement;
                
                $tovari = $documentElement->getElementsByTagName('Товары')->item(0);
                $arrUsedId = array();
                $arrTovar = $tovari->getElementsByTagName('Товар');
                for ( $i = $arrTovar->length; --$i >= 0; ) {
                    $tovar = $arrTovar->item($i);
                    $modx->log(4,'id'.$tovar->getElementsByTagName('Ид')->nodeValue);
                    $modx->log(4,'id#'.strstr((string)$tovar->getElementsByTagName('Ид')->nodeValue,'#',true));
                    //перебор всех попавшихся id
                    foreach($arrUsedId as $id)
                    if((strpos($tovar->getElementsByTagName('Ид')->nodeValue,$id) === false)){
                        //удаляем товар если id товара совпадает с одним их тех что уже когда-то был
                        $tovar->parentNode->removeChild($tovar);
                        break;
                    }
                    else{
                        //проверяем есть ли разделение решёткой т.к. только товары которые имеют в ид решётку имеют модификации 
                        if(!(strpos($tovar->getElementsByTagName('Ид')->nodeValue,'#') === false)){
                            //добавляем ид товара до решётки
                            array_push($arrUsedId,strstr((string)$tovar->getElementsByTagName('Ид')->nodeValue,'#',true));
                        }
                        else{
                            //если нет решётки всёравно добавляем)
                            array_push($arrUsedId,(string)$tovar->getElementsByTagName('Ид')->nodeValue);
                        }
                        
                    }
                }
                file_put_contents($filename, $document->saveXML());
            break;
            case 'offers':
                
            break;
        }
        break;