- Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var _tempFile:TStringList; _regexp:TRegExpr; i, b:integer;
begin
//Инициализируем объекта для работы с регулярными выражениями
ListBox1.Clear;
ListBox2.Clear;
Memo2.Clear;
_regexp:=TRegExpr.Create; //Устанавливаем шаблон поиска в зависимости от условия.
_regexp.Expression:=edit1.Text;
for i:=0 to memo1.Lines.Count-1 do begin
ListBox2.Items.Add(inttostr(i));
if (_regexp.Exec(memo1.Lines.Strings[i])) then
repeat
memo2.Lines.Add(memo1.Lines.Strings[i]);
ListBox1.Items.Add(_regexp.Match[0]);
until not _regexp.ExecNext;
end; //Освобождаем память
_regexp.Free;
end;
пример xml который парсю:
<?xml version="1.0" encoding="Windows-1251"?><report type="oes-buy-volumes" interval-type="hour"><defs> <data name="tg_volume">Объем покупки, МВт.ч</data> <data name="tg_price">Индекс равновесных цен на покупку электроэнергии, руб./МВт.ч.</data> <data name="tg_price_sell">Индекс равновесных цен на продажу электроэнергии, руб./МВт.ч.</data> <data name="max_tg_price">Максимальный индекс равновесной цены, руб./МВт.ч</data> <data name="min_tg_price">Минимальный индекс равновесной цены, руб./МВт.ч</data> <data name="tg_volume_sell">Объем продажи, МВт.ч</data></defs><oes id="1" name="ОЭС Урала" zone="1"><hour id="0"> <data name="tg_volume"> 28467,111</data> <data name="tg_price"> 830,72</data> <data name="max_tg_price"> 1053,40</data> <data name="min_tg_price"> 647,00</data> <data name="tg_volume_sell"> 29481,060</data> <data name="tg_price_sell"> 799,30</data> </hour><hour id="1"> <data name="tg_volume"> 28335,587</data> <data name="tg_price"> 796,88</data> <data
name="max_tg_price"> 992,98</data> <data name="min_tg_price"> 637,91</data> <data name="tg_volume_sell"> 29144,451</data> <data name="tg_price_sell"> 769,77</data> </hour><hour id="2"> <data name="tg_volume"> 28390,062</data> <data name="tg_price"> 796,08</data> <data name="max_tg_price"> 986,20</data> <data name="min_tg_price"> 642,06</data> <data name="tg_volume_sell"> 29076,018</data> <data name="tg_price_sell"> 769,53</data> </hour><hour id="3"> <data name="tg_volume"> 28694,558</data> <data name="tg_price"> 802,33</data> <data name="max_tg_price"> 994,97</data> <data name="min_tg_price"> 644,59</data> <data name="tg_volume_sell"> 29364,320</data> <data name="tg_price_sell"> 774,36</data> </hour><hour id="4"> <data name="tg_volume"> 29700,458</data> <data name="tg_price"> 861,32</data> <data name="max_tg_price"> 1099,82</data> <data name="min_tg_price"> 679,00</data> <data name
пытаюсь выбрать строки: name="ОЭС Урала"
получаю то что выше писал