Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 11
Модератор форума: Ekz 
Форум » Все о Delphi » Файловая система » поиск значения в xml (необходимо найти текст после искомой фразы в файле xml)
поиск значения в xml
antoniy7772007Дата: Суббота, 19.03.2016, 01:39 | Сообщение # 1
Ранг 1
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Есть файл XML. Необходимо программным путем найти все числовые значения после AID= и до </COMMENT>или перед "," и передать их в любой компонент (DBGrid, ListBox, Memo).

Пример файла (часть):

<?xml version="1.0" encoding="Windows-1251"?>
<FLK_P>
<FNAME>test2356434</FNAME>
<FNAME_I>test2356434hsdf;sdf</FNAME_I>
<!-- Уведомление об аннулировании реестра -->
<PR>
<OSHIB>57</OSHIB>
<IM_POL>SMO, SMO_OK, SMO_OGRN</IM_POL>
<BASE_EL>SLUCH</BASE_EL>
<N_ZAP>34565</N_ZAP>
<COMMENT>[gtr:376] принадлежность строки не определена, AID=123456</COMMENT>
</PR>
<PR>
<OSHIB>57</OSHIB>
<IM_POL>SMO, SMO_OK, SMO_OGRN</IM_POL>
<BASE_EL>SLUCH</BASE_EL>
<N_ZAP>4533</N_ZAP>
<COMMENT>[gtr:374] принадлежность строки не определена, AID=7890123, моментум инновации</COMMENT>
</PR>

Пытался использовать функцию pos, но в цикле for to do ищет и добавляет как надо, но вот как обработать "</COMMENT"? Если добавить дополнительную функцию pos он выдает всякий бред.
Может кто подскажет, в чем нужна доработка!?

Вот пример одной из процедур, которую я проверял.

procedure TForm1.Button7Click(Sender: TObject);
var
tmp: string;
main: string;
n: word;
i: integer;
f:TextFile;
begin
main:= Memo1.Lines.Text;
for i := 1 to Memo1.Lines.count-1 do
begin
n:= pos('AID=',main);
Delete(main,4,n);
n:= pos(',',main);
tmp:= copy(main,4,n-4);
ListBox1.Items.Add(tmp);
end;


Сообщение отредактировал antoniy7772007 - Суббота, 19.03.2016, 03:36
 
Форум » Все о Delphi » Файловая система » поиск значения в xml (необходимо найти текст после искомой фразы в файле xml)
Страница 1 из 11
Поиск:

Copyright DelphiDevelop.ru © 2008-2018
Хостинг от uCoz