![]() |
|
#4
|
|||
|
|||
![]() Это весь 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, там можно указать с какого по счету символа надо искать. |