Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #4  
Старый 24.02.2021, 04:48
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Это весь 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, там можно указать с какого по счету символа надо искать.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:25.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025