Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
NuRiKGiF
35 / 35 / 0
Регистрация: 11.06.2013
Сообщений: 163
#1

Нужно вывести данные в таблицу из xml файла - C++

30.07.2013, 06:06. Просмотров 923. Ответов 4
Метки нет (Все метки)

Есть такой файлик с расширением .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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2013, 06:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно вывести данные в таблицу из xml файла (C++):

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

Нужно переделать, чтобы программа могла считывать данные с файла и записывать в него результат. - C++ Builder
Вот программа, созданная мною в C++ Builder. Она в не квадратной матрице элементы(кроме граничных) заменяет суммой примыкающих к нему...

[XML] Как отсортировать данные в XML? - C++ Builder
Друзья привет. В ранее созданой теме приводил пример .xml файла. Подскажите если мне нужно отсортировать такой хмл по File или Date,...

Нужно вывести текст из файла в Socket->address=? - C++ Builder
Реябт, тут такая трабла. У меня в одной форме вводяться данные в текстовый файл. При попытке вывести эти данные из файла к значению...

Вывести из файла данные про товары, срок годности которых истекает в текущем году - C++ Builder
Создать текстовый файл с произвольной информацией. Организовать просмотр содержимого файла. Организовать чтение и обработку данных из...

Занести данные из файла в таблицу ( List Control ) - Visual C++
Собственно надо извлечь данные из файла и перенести их в таблицу. В файл данные заношу сам же вот таким способом: Добавлено через 9...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
30.07.2013, 11:15 #2
NuRiKGiF, Берем любой xml парсер и вперед. Руками-то зачем парсить xml?
Ну и естественно такую вещь никто писать не будет (кому оно надо-то? скучно ведь да и раздел форума не тот). Так что - выбираете xml парсер, выбираете формат вывода - парсите, выводите.
1
fanatdebian
Z3JheSBoYXQ=
336 / 231 / 35
Регистрация: 08.07.2012
Сообщений: 577
31.07.2013, 03:40 #3
Для решения подобного рода задач я бы выбрал питон в качестве инструмента, там есть соответствующий инструментарий в виде, ВНЕЗАПНО, реализованных модулей с методами парсинга тегов.

1
Wolkodav
603 / 456 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
01.08.2013, 23:41 #4
Можно еще в сторону C#( если уж совсем С-подобный) посмотреть. Когда-то писал свой парсер на нём для XML, простенький правда.
1
Avazart
Эксперт С++
7185 / 5359 / 280
Регистрация: 10.12.2010
Сообщений: 23,654
Записей в блоге: 17
03.08.2013, 23:45 #5
Библиотеки libxml2, tinyxml идр.

В С++Builder и Qt есть свои инструменты работы с XML.

( http://www.cyberforum.ru/blogs/131347/blog538.html )
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2013, 23:45
Привет! Вот еще темы с ответами:

Создать таблицу, которая выводила бы данные из текстового файла - Visual C++
Работаю в среде Visual studio 2012 professional. Перерыл все, что мог, но все равно не могу создать таблицу, которая выводила бы данные из...

Вывести данные из файла в таблицу - C++
Работаю в среде Visual studio 2012 professional. Перерыл все, что мог, но все равно не могу создать таблицу, которая выводила бы данные из...

нужно чтоб нашлась страна и все данные об этой стране вывелись в таблицу... - C++
Помогите с поиском по файлу ну не как не получается его сделать.... В файле записано: Страна Столица Валюта ну вот так ......

Запишите в файл школьную таблицу умножения, после чего выведите данные из файла на экран. - C++
Запишите в файл школьную таблицу умножения, после чего выведите данные из файла на экран.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.08.2013, 23:45
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru