Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
4 / 4 / 1
Регистрация: 27.11.2010
Сообщений: 5

Работа со списком

11.12.2010, 20:11. Показов 1031. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообщем нужно прочитать данные из XML файла, занести в список в классе(не в Program) и вывести всё на консоль...
XML файл

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
?xml version="1.0" encoding="utf-8"?>
<entries>
  <entry type="debit">
    <amount>100</amount>
    <date>11.11.2010</date>
    <description><![CDATA[Описание записи]]></description>
    <category>Продукты</category>
  </entry>
  <entry type="credit">
    <amount>50</amount>
    <date>11.11.2010</date>
    <description><![CDATA[Описание записи]]></description>
    <category>Продукты</category>
  </entry>
  <entry type="debit">
    <amount>100</amount>
    <date>11.11.2010</date>
    <description><![CDATA[Описание записи]]></description>
    <category>Продукты</category>
  </entry>
  <entry type="debit">
    <amount>100</amount>
    <date>05.12.2010 20:59:16</date>
    <description><![CDATA[descriptio1]]></description>
    <category>categor1</category>
  </entry>
</entries>
Метод в классе чтения:

C#
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
           
// Список типа другого класса(ни того в котором происходит чтение и не в Program)
 
 
public List<ME> _entry = new List<ME>();
 
public IEnumerable<ME> Entries
        {
            get { return _entry.AsReadOnly(); }
        }
 
public void Read(string sourceXML)
        {
            string sum = "";
            string date = "";
            string description = "";
            string category = "";
            string value = "";
            string name = "";
            string value1 = "";
            MoneyEntry me = new MoneyEntry();
 
            // Cоздаем объект и открываем XML файл на чтение
            XmlDocument xml = new XmlDocument();
            xml.Load(sourceXML);
            
            foreach (XmlElement element in xml.GetElementsByTagName("entry"))
            {
                if (element.Attributes["type"] == null)
                    continue;
 
                int i = 0;
                foreach (XmlElement e in element)
                {
                    i++;
                    value1 = e.InnerText;
 
                    if (i == 1)
                        sum = e.InnerText;
                    if (i == 2)
                        date = e.InnerText;
                    if (i == 3)
                        description = e.InnerText;
                    if (i == 4)
                        category = e.InnerText;
 
                }
 
                me.InitWithStringAmount(sum);
                Console.WriteLine(sum);
                me.InitWithStringDate(date);
                Console.WriteLine(date);
                me.InitWithStringDescription(description);
                Console.WriteLine(description);
                me.InitWithStringCategory(category);
                Console.WriteLine(category);
                _entry.Add(me);
            
            }
            }
            }
Код в классе Program

C#
1
2
3
4
5
6
7
8
                
                foreach (ME m in mm.Entries)
                {
                    
                    Console.WriteLine("{0} от {1}", m.Amount, m.EntryDate);
                    Console.WriteLine("Описание - {0}", m.Description);
                    Console.WriteLine("Категория - {0}", m.Category);
                }
Код в классе ME

C#
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
        public void InitWithStringAmount(string amount)
        {
            int.TryParse(amount, out _amount);
        }
 
        public void InitWithStringDate(string date)
        {
            _date = date;
        }
 
       
        public void InitWithStringDescription(string description)
        {
            _description = description;
        }
 
       public void InitWithStringCategory(string category)
        {
            _category = category;
        }
 
        public int Amount
        {
            get { return _amount; }
            set { _amount = value; }
        }
 
        public string Date 
       { 
           get { return _date; } 
           set { _date = value; } 
          }
        
 
        public string Description
        {
            get { return _description; }
            set { _description = value; }
        }
 
        public string Category
        {
            get { return _category; }
            set { _category = value; }
        }
Я так пишу и у меня вместо того, чтобы вывести на консоль данные о всех записях, выводится 4 раза данные о последней записи) На консоле появляется(4 раза):

100 от 05.12.2010 20:59:16
Описание - descriptio1
Категория - categor1

Как решить проблему? Чтобы выводились данные не 4 раза о последней записи, а данные о каждой? Помогите, пожалуйста!

Добавлено через 1 час 9 минут
Всё проблему решил...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.12.2010, 20:11
Ответы с готовыми решениями:

Работа со списком
Напишите программу, которая запрашивает количество элементов списка у пользователя, а затем поочередно предлагает ...

Работа со списком
Пусть L обозначает кольцевой двунаправленный список с заглавным звеном при следующем описании такого списка: Type ТЭ2=...;(тип элементов...

Работа со списком
Нужно найденный товар пихнуть вверх двусвязного списка, а остальные элементы должны съехать вниз. Как это осуществить? Не понимаю как...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.12.2010, 20:11
Помогаю со студенческими работами здесь

Работа со списком
Приветствую всех. В файле null.txt есть определенный список: Vitaliy=6 Evgeniy=4 Vasiliy=1 Методом POST получаю именф Vitaliy...

Работа со списком
Дан однонаправленный список L1. Определить, есть ли в нем подряд идущие элементы, составляющие список L2.

Работа со списком
Это кусок кода. Здесь должен входить список, элементы перемножаться и полученное число добавляться в другой список. Но этот список...

Работа со списком
Удалить из списка первое вхождение заданного элемента на верхнем уровне не могу понять что значит на верхнем уровне

Работа со списком
Описать функцию или процедуру, которая: 1) в списке L переставляет в обратном порядке все элементы между первым и последним вхождениями...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru