Это весь xml?
Или это пример одного блока.
Просто, если это весь xml, то можно обойтись малой кровью - найти <ENP>...</ENP>, посмотреть что там между ними и, если надо, то грохнуть. Если это пример блока, то сложнее. Все-таки придется строить ДОМ.
Если надо грохать только сам <ENP>...</ENP>, то можно как-то так:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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, там можно указать с какого по счету символа надо искать.