Это весь xml?
Или это пример одного блока.
Просто, если это весь xml, то можно обойтись малой кровью - найти <ENP>...</ENP>, посмотреть что там между ними и, если надо, то грохнуть. Если это пример блока, то сложнее. Все-таки придется строить ДОМ.
Если надо грохать только сам <ENP>...</ENP>, то можно как-то так:
Код:
var
sl : TStringList;
s : String;
iStart, iEnd : Integer;
begin
sl := TStringList.Create;
sl.LoadFromFile('file.xml'); // ну откуда мы там получаем файлик
s := sl.Text; // забрали в одну строку
iStart := Pos('<ENP>',s);
iEnd := Pos('</ENP>',s);
If (iStart > 0) And (iEnd > 0) Then
If (iEnd-iStart+Length('<ENP>') <> 16) Then
s := Delete(s,iStart,iEnd-iStart+Length('</ENP>');
Если таких блоков много, то надо будет пользовать функцию PosEx, там можно указать с какого по счету символа надо искать.