Remove XML Node de un archivo cargado usando el sistema de archivos PHP [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Cómo analiza y procesa HTML / XML en PHP? 29 respuestas

Tengo un archivo XML que se lee con PHPfile_get_contents para que se le puedan hacer otros cambios.

Necesito encontrar y eliminar los nodos<BATCHALLOCATIONS.LIST> ...<BATCHALLOCATIONS.LIST> (no solo esas dos líneas, sino qué hay entre el nodo completo) en todo el archivo.

Dado que el archivo ya está cargado confile_get_contents Me gustaría hacer esto sin tener que cargar el archivo nuevamente usandosimpleXML, o un analizador XML o cualquier otro método (como DOM).

El nodo no tiene un padre específico y aparece al azar.

El archivo XML se exporta desde un software de contabilidad empresarial.

¿Alguna idea sobre cómo lograr esto? ¿Tal vez usando una expresión regular para hacer una búsqueda y reemplazar o algo así?

He estado tratando de hacer esto usando una expresión regular y preg_replace, pero simplemente no puedo hacer que las cosas funcionen.

Aquí hay solo una parte del archivo. El original corre a 10K + líneas.

Esto debería haber funcionado pero no

preg_replace('/^\<BATCHALLOCATIONS.LIST\>(.*?)\<\BATCHALLOCATIONS.LIST\>$/ism','', $newXML);

Estoy tratando de hacer esto sin usar ningún analizador HTML / XML.

Respuestas a la pregunta(1)

Su respuesta a la pregunta