Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/41: Рейтинг темы: голосов - 41, средняя оценка - 4.93
36 / 37 / 1
Регистрация: 11.06.2013
Сообщений: 163
1

Вывести данные в таблицу из xml файла. - Анализ XML файла, выгружаемого программой SPU_ORB.

30.07.2013, 06:06. Показов 8567. Ответов 3

Author24 — интернет-сервис помощи студентам
Есть такой файлик с расширением .xml (из программы spy_orb) в нем много строк, но нам нужно вытащить только суммы и запихнуть в таблицу, ниже привел пример кода (в нем есть вначале и другие данные, но под данным примером я написал что нужно вытащить из файла)
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТА ЖЕ_ЗЛ>
<НомерВпачке>117</НомерВпачке>
<ТипСведений>ИСХОДНАЯ</ТипСведений>
<РегистрационныйНомер>***-8**-02****</РегистрационныйНомер>
<НаименованиеКраткое>ООО РЕМЖИЛСТРОЙ</НаименованиеКраткое>
<НалоговыйНомер>
<ИНН>00********</ИНН>
<КПП>02********</КПП>
</НалоговыйНомер>
<КодКатегории>НР</КодКатегории>
<ОтчетныйПериод>
<Квартал>2</Квартал>
<Год>2013</Год>
</ОтчетныйПериод>
<СтраховойНомер>0**-9**-**8 **</СтраховойНомер>
<ФИО>
<Фамилия>ИВАНОВ</Фамилия>
<Имя>ИВАН</Имя>
<Отчество>ИВАНОВИЧ</Отчество>
</ФИО>
<ТипДоговора>ТРУДОВОЙ</ТипДоговора>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>МЕСЦ</ТипСтроки>
<Месяц>4</Месяц>
<СуммаВыплатВсего>20930.00</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>20930.00 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>МЕСЦ</ТипСтроки>
<Месяц>5</Месяц>
<СуммаВыплатВсего>10961.54</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>10961.54 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>МЕСЦ</ТипСтроки>
<Месяц>6</Месяц>
<СуммаВыплатВсего>20930.00</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>20930.00 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>ИТОГ</ТипСтроки>
<СуммаВыплатВсего>52821.54</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>52821.54 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВзносовНаСтраховую>
<Начислено>11620.74</Начислено>
<Уплачено>11620.74</Уплачено>
</СуммаВзносовНаСтраховую>
<СуммаВзносовНаНакопительную>
<Начислено>0.00</Начислено>
<Уплачено>0.00</Уплачено>
</СуммаВзносовНаНакопительную>
<СтажевыйПериод>
<НомерСтроки>1</НомерСтроки>
<ДатаНачалаПериода>01.04.2013</ДатаНачалаПериода>
<ДатаКонцаПериода>30.06.2013</ДатаКонцаПериода>
</СтажевыйПериод>
<ДатаЗаполнения>26.07.2013</ДатаЗаполнения>
</СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖ Е_ЗЛ>
Здесь получается у нас вот это <СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_С ТА ЖЕ_ЗЛ> и вот это </СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖ Е_ЗЛ> являются разделителями между людьми, то есть каждый новый человек начинается и заканчивается этими параметрами

Далее из этого "тела" нам нужно вытащить в таблицу ФИО, НАЧИСЛЕНО, СТРАХОВУЮ, НАКОПИТЕЛЬНУЮ, НАЛОГООБЛАГАЕМУЮ, а КВАРТАЛ и ГОД вывести в заголовок таблицы как то так: "Реестр лицевых по ПФР за <Квартал> кв. <Год> г. " Как бы то что в знаках <> он должен взять данные из файла в нашем случае год = 2013 а квартал = 2

Далее уже составляем почеловечную таблицу берем <ФИО> и ставим в первый столбец
Берем <СуммаВыплатВсего>52821.54</СуммаВыплатВсего> и ставим во второй столбец "НАЧИСЛЕНО"
Берем <СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>52821.54 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие> и ставим в третий столбец "НАЛОГООБЛАГАЕМАЯ"
Берем <СуммаВзносовНаСтраховую> <Начислено>11620.74</Начислено> </СуммаВзносовНаСтраховую> и ставим в четвертый столбец "СТРАХОВАЯ"
Берем <СуммаВзносовНаНакопительную><Начислено>0.00</Начислено></СуммаВзносовНаНакопительную> и ставим в пятый столбец "НАКОПИТЕЛЬНАЯ"

И внизу итоги по столбцам. Повторюсь, в файле много раз открывается и закрывается так называемое "тело" просчета по человеку такими параметрами <СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_С ТА ЖЕ_ЗЛ> и вот это </СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖ Е_ЗЛ> нужно то что под ними, если имеются параметры, которые я описал что нужно вывести в таблицу то их вывести. И вывести так чтоб можно было мышью выделить и скопировать чтоб можно было вставить в ЭКСЕЛЬ к примеру, еще можно было бы на печать отправить кнопку сделать.
Как задача? Я обработку файлов построково не умею да и все прочее ((( Кто нибудь может написать такую вещь? По сути вроде алгоритм не сложный от сих до сих выбирай то и выводи сюда (в таблицу) таблицу я тоже выводить не умею (((
 Комментарий модератора 
В название темы добавлены дополнительные сведения.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2013, 06:06
Ответы с готовыми решениями:

Нужно вывести данные в таблицу из xml файла
Есть такой файлик с расширением .xml (из программы spy_orb) в нем много строк, но нам нужно...

Вывести данные из xml файла
Есть такой файлик с расширением .xml (из программы spy_orb) в нем много строк, но нам нужно...

Выгрузка в XML файл результатов запроса. Создание xml схемы с имеющегося xml файла
Доброго времени суток. Имеется необходимый для загрузки пример XML файла и из него необходимо...

Как можно присвоить значение атрибута одного XML файла атрибута из другого XML файла?
привет, при генерации с помощью SAX некоторого xml файла, как можно присвоить точно такое же...

3
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
01.08.2013, 01:16 2
Такой файл следует обрабатывать с помощью XML DOM (Document Object Model).
Делается так.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    XMLDocument1: TXMLDocument;
    OpenDialog1: TOpenDialog;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
  XmlDocNode, XmlPerson, XmlChild, XmlData : IXMLNode;
  Od : TOpenDialog;
begin
  Od := OpenDialog1;
  if Od.InitialDir = '' then
    Od.InitialDir := ExtractFilePath(Application.ExeName);
  if not Od.Execute then Exit;
  if not FileExists(Od.FileName) then begin
    MessageBox(Handle, 'Файл с заданным именем не найден. Действие отменено.'
      ,'Файл не найден', MB_OK + MB_ICONEXCLAMATION + MB_APPLMODAL);
    Exit;
  end;
 
  XMLDocument1.LoadFromFile(Od.FileName);
  XMLDocument1.Active := True;
 
  //Корневой элемент.
  XmlDocNode := XMLDocument1.DocumentElement;
 
  //Перебор сведений по персонам.
  for i := 0 to XmlDocNode.ChildNodes.Count - 1 do begin
    Memo1.Lines.Add('--------------------------------------------------');
    //Очередная персона. - Элемент с тегом "<СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>".
    XmlPerson := XmlDocNode.ChildNodes[i];
 
    //Сведения по персоне.
 
    //Элемент с тегом <ФИО>.
    XmlChild := XmlPerson.ChildNodes.FindNode('ФИО');
    if not VarIsClear(XmlChild) then begin
      //Элемент с тегом <Фамилия>.
      XmlData := XmlChild.ChildNodes.FindNode('Фамилия');
      if not VarIsClear(XmlData) then
        Memo1.Lines.Add('Фамилия: ' + XmlData.NodeValue)
      else
        Memo1.Lines.Add('!!! Тег <Фамилия> не найден!');
 
      //Элемент с тегом <Имя>.
      XmlData := XmlChild.ChildNodes.FindNode('Имя');
      if not VarIsClear(XmlData) then
        Memo1.Lines.Add('Имя: ' + XmlData.NodeValue)
      else
        Memo1.Lines.Add('!!! Тег <Имя> не найден!');
 
      //Элемент с тегом <Отчество>.
      XmlData := XmlChild.ChildNodes.FindNode('Отчество');
      if not VarIsClear(XmlData) then
        Memo1.Lines.Add('Отчество: ' + XmlData.NodeValue)
      else
        Memo1.Lines.Add('!!! Тег <Отчество> не найден!');
    end else
      Memo1.Lines.Add('!!! Тег <ФИО> не найден!');
 
    //Элемент с тегом <НалоговыйНомер>.
    XmlChild := XmlPerson.ChildNodes.FindNode('НалоговыйНомер');
    if not VarIsClear(XmlChild) then begin
      //Элемент с тегом <ИНН>.
      XmlData := XmlChild.ChildNodes.FindNode('ИНН');
      if not VarIsClear(XmlData) then
        Memo1.Lines.Add('ИНН: ' + XmlData.NodeValue)
      else
        Memo1.Lines.Add('!!! Тег <ИНН> не найден!');
 
      //Элемент с тегом <КПП>.
      XmlData := XmlChild.ChildNodes.FindNode('КПП');
      if not VarIsClear(XmlData) then
        Memo1.Lines.Add('КПП: ' + XmlData.NodeValue)
      else
        Memo1.Lines.Add('!!! Тег <КПП> не найден!');
    end else
      Memo1.Lines.Add('!!! Тег <НалоговыйНомер> не найден!');
 
    //Элемент с тегом <СтраховойНомер>.
    XmlData := XmlPerson.ChildNodes.FindNode('СтраховойНомер');
    if not VarIsClear(XmlData) then begin
      Memo1.Lines.Add('СтраховойНомер: ' + XmlData.NodeValue)
    end else
      Memo1.Lines.Add('!!! Тег <СтраховойНомер> не найден!');
 
    //Элемент с тегом <ТипДоговора>.
    XmlData := XmlPerson.ChildNodes.FindNode('ТипДоговора');
    if not VarIsClear(XmlData) then begin
      Memo1.Lines.Add('ТипДоговора: ' + XmlData.NodeValue)
    end else
      Memo1.Lines.Add('!!! Тег <ТипДоговора> не найден!');
 
    //Таким же образом следует обработать другие теги персоны.
    //...
    //...
    //...
  end;
 
  Memo1.Lines.Add('');
  Memo1.Lines.Add('----------');
  Memo1.Lines.Add('Всего персон: ' + IntToStr(XmlDocNode.ChildNodes.Count));
end;
 
end.
В этом коде анализируются теги:
Код
-- <document> - корневой элемент
---- <СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ> - элемент персоны
------ <ФИО>
-------- <Фамилия>
-------- <Имя>
-------- <Отчество>
------ <НалоговыйНомер>
-------- <ИНН>
-------- <КПП>
------ <СтраховойНомер>
------ <ТипДоговора>
Таким же образом в код можно добавить обработку других тегов. - В комментариях указано место, где следует добавить код обработки других тегов (начиная со 118 строки).
Delphi
118
119
120
121
    //Таким же образом следует обработать другие теги персоны.
    //...
    //...
    //...
Для примера я составил XML файл с двумя персонами. Кодировка текста - UTF-8.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?xml version="1.0" encoding="utf-8"?>
 
<document>
 
<СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>
<НомерВпачке>117</НомерВпачке>
<ТипСведений>ИСХОДНАЯ</ТипСведений>
<РегистрационныйНомер>***-8**-02****</РегистрационныйНомер>
<НаименованиеКраткое>ООО РЕМЖИЛСТРОЙ</НаименованиеКраткое>
<НалоговыйНомер>
<ИНН>00********</ИНН>
<КПП>02********</КПП>
</НалоговыйНомер>
<КодКатегории>НР</КодКатегории>
<ОтчетныйПериод>
<Квартал>2</Квартал>
<Год>2013</Год>
</ОтчетныйПериод>
<СтраховойНомер>0**-9**-**8 **</СтраховойНомер>
<ФИО>
<Фамилия>ИВАНОВ</Фамилия>
<Имя>ИВАН</Имя>
<Отчество>ИВАНОВИЧ</Отчество>
</ФИО>
<ТипДоговора>ТРУДОВОЙ</ТипДоговора>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>МЕСЦ</ТипСтроки>
<Месяц>4</Месяц>
<СуммаВыплатВсего>20930.00</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>20930.00 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>МЕСЦ</ТипСтроки>
<Месяц>5</Месяц>
<СуммаВыплатВсего>10961.54</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>10961.54 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>МЕСЦ</ТипСтроки>
<Месяц>6</Месяц>
<СуммаВыплатВсего>20930.00</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>20930.00 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>ИТОГ</ТипСтроки>
<СуммаВыплатВсего>52821.54</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>52821.54 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВзносовНаСтраховую>
<Начислено>11620.74</Начислено>
<Уплачено>11620.74</Уплачено>
</СуммаВзносовНаСтраховую>
<СуммаВзносовНаНакопительную>
<Начислено>0.00</Начислено>
<Уплачено>0.00</Уплачено>
</СуммаВзносовНаНакопительную>
<СтажевыйПериод>
<НомерСтроки>1</НомерСтроки>
<ДатаНачалаПериода>01.04.2013</ДатаНачалаПериода>
<ДатаКонцаПериода>30.06.2013</ДатаКонцаПериода>
</СтажевыйПериод>
<ДатаЗаполнения>26.07.2013</ДатаЗаполнения>
</СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>
 
<СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>
<НомерВпачке>117</НомерВпачке>
<ТипСведений>ИСХОДНАЯ</ТипСведений>
<РегистрационныйНомер>***-8**-02****</РегистрационныйНомер>
<НаименованиеКраткое>ООО РЕМЖИЛСТРОЙ</НаименованиеКраткое>
<НалоговыйНомер>
<ИНН>11********</ИНН>
<КПП>22********</КПП>
</НалоговыйНомер>
<КодКатегории>НР</КодКатегории>
<ОтчетныйПериод>
<Квартал>2</Квартал>
<Год>2013</Год>
</ОтчетныйПериод>
<СтраховойНомер>1**-8**-**9 **</СтраховойНомер>
<ФИО>
<Фамилия>ПЕТРОВ</Фамилия>
<Имя>ПЁТР</Имя>
<Отчество>ПЕТРОВИЧ</Отчество>
</ФИО>
<ТипДоговора>ТРУДОВОЙ</ТипДоговора>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>МЕСЦ</ТипСтроки>
<Месяц>4</Месяц>
<СуммаВыплатВсего>20930.00</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>20930.00 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>МЕСЦ</ТипСтроки>
<Месяц>5</Месяц>
<СуммаВыплатВсего>10961.54</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>10961.54 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>МЕСЦ</ТипСтроки>
<Месяц>6</Месяц>
<СуммаВыплатВсего>20930.00</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>20930.00 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВыплатИвознагражденийВпользуЗЛ>
<ТипСтроки>ИТОГ</ТипСтроки>
<СуммаВыплатВсего>52821.54</СуммаВыплатВсего>
<СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>52821.54 </СуммаВыплатНачисленыСтраховыеВзносыНеПревышающие>
<СуммаВыплатНачисленыСтраховыеВзносыПревышающие>0.00</СуммаВыплатНачисленыСтраховыеВзносыПревышающие>
</СуммаВыплатИвознагражденийВпользуЗЛ>
<СуммаВзносовНаСтраховую>
<Начислено>11620.74</Начислено>
<Уплачено>11620.74</Уплачено>
</СуммаВзносовНаСтраховую>
<СуммаВзносовНаНакопительную>
<Начислено>0.00</Начислено>
<Уплачено>0.00</Уплачено>
</СуммаВзносовНаНакопительную>
<СтажевыйПериод>
<НомерСтроки>1</НомерСтроки>
<ДатаНачалаПериода>01.04.2013</ДатаНачалаПериода>
<ДатаКонцаПериода>30.06.2013</ДатаКонцаПериода>
</СтажевыйПериод>
<ДатаЗаполнения>26.07.2013</ДатаЗаполнения>
</СВЕДЕНИЯ_О_СУММЕ_ВЫПЛАТ_О_СТРАХОВЫХ_ВЗНОСАХ_И_СТРАХОВОМ_СТАЖЕ_ЗЛ>
 
</document>
Тогда программа выдаст такие результаты:
Код
--------------------------------------------------
Фамилия: ИВАНОВ
Имя: ИВАН
Отчество: ИВАНОВИЧ
ИНН: 00********
КПП: 02********
СтраховойНомер: 0**-9**-**8 **
ТипДоговора: ТРУДОВОЙ
--------------------------------------------------
Фамилия: ПЕТРОВ
Имя: ПЁТР
Отчество: ПЕТРОВИЧ
ИНН: 11********
КПП: 22********
СтраховойНомер: 1**-8**-**9 **
ТипДоговора: ТРУДОВОЙ

----------
Всего персон: 2
Программа выводит результаты в TMemo. Можно переделать вывод в TStringGrid - принцип такой же. TStringGrid - это таблица. Этот компонент расположен в палитре компонентов на вкладке Additional.
Вложения
Тип файла: rar XMLPersonParse-01.rar (203.6 Кб, 168 просмотров)
2
36 / 37 / 1
Регистрация: 11.06.2013
Сообщений: 163
04.08.2013, 15:21  [ТС] 3
Спасибо за ответ на вопрос )))
0
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
17.08.2013, 09:29 4
Цитата Сообщение от Mawrat Посмотреть сообщение
Такой файл следует обрабатывать с помощью XML DOM (Document Object Model).
Делается так.
Хорошая статья - помогла разобраться с xml в delphi
0
17.08.2013, 09:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2013, 09:29
Помогаю со студенческими работами здесь

Считать данные из файла xml
Помогите считать данные из файла xml и показать их. Файл будет находится в корневой папке сайта....

Считать данные из xml-файла
Есть файл: &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;test&gt; &lt;question1&gt; ...

Вытащить данные из файла XML
Привет всем ! Есть файлик с расширением xml. Подскажите как вытащить данные из xml файла...

Прочитать данные из файла XML
Суть такова что нужно взять цифру с файла XML и записать в переменную. Цифра это цена, которую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru