Неправильное чтение xml файла - C#

Узнай цену своей работы

Формулировка задачи:

Написал маленькую программку, читаю из xml файла
<?xml version="1.0" encoding="UTF-8"?>
 
-<employers>

-<employee>
 
<id>1</id>
 
<fname>Артем</fname>
 
<sname>Антонов</sname>
 
<mfname>Никита</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>2</id>
 
<fname>Марк</fname>
 
<sname>Коверга</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>3</id>
 
<fname>Марк</fname>
 
<sname>Антонов</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>4</id>
 
<fname>Никита</fname>
 
<sname>Коверга</sname>
 
<mfname>Артем</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>5</id>
 
<fname>Артем</fname>
 
<sname>Сидоров</sname>
 
<mfname>Никита</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>6</id>
 
<fname>Никита</fname>
 
<sname>Антонов</sname>
 
<mfname>Артем</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>7</id>
 
<fname>Илья</fname>
 
<sname>Коверга</sname>
 
<mfname>Артем</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>8</id>
 
<fname>Никита</fname>
 
<sname>Антонов</sname>
 
<mfname>Никита</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>9</id>
 
<fname>Илья</fname>
 
<sname>Коверга</sname>
 
<mfname>Никита</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>10</id>
 
<fname>Артем</fname>
 
<sname>Руденко</sname>
 
<mfname>Никита</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>11</id>
 
<fname>Никита</fname>
 
<sname>Сидоров</sname>
 
<mfname>Никита</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>12</id>
 
<fname>Илья</fname>
 
<sname>Сидоров</sname>
 
<mfname>Никита</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>13</id>
 
<fname>Никита</fname>
 
<sname>Руденко</sname>
 
<mfname>Никита</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>14</id>
 
<fname>Никита</fname>
 
<sname>Антонов</sname>
 
<mfname>Артем</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>15</id>
 
<fname>Никита</fname>
 
<sname>Антонов</sname>
 
<mfname>Никита</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>16</id>
 
<fname>Артем</fname>
 
<sname>Сидоров</sname>
 
<mfname>Никита</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>17</id>
 
<fname>Марк</fname>
 
<sname>Коверга</sname>
 
<mfname>Артем</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>18</id>
 
<fname>Марк</fname>
 
<sname>Сидоров</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>19</id>
 
<fname>Артем</fname>
 
<sname>Коверга</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>20</id>
 
<fname>Артем</fname>
 
<sname>Сидоров</sname>
 
<mfname>Артем</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>21</id>
 
<fname>Артем</fname>
 
<sname>Коверга</sname>
 
<mfname>Никита</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>22</id>
 
<fname>Артем</fname>
 
<sname>Коверга</sname>
 
<mfname>Артем</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>23</id>
 
<fname>Илья</fname>
 
<sname>Коверга</sname>
 
<mfname>Никита</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>24</id>
 
<fname>Никита</fname>
 
<sname>Руденко</sname>
 
<mfname>Артем</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>25</id>
 
<fname>Никита</fname>
 
<sname>Антонов</sname>
 
<mfname>Никита</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>26</id>
 
<fname>Илья</fname>
 
<sname>Антонов</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>27</id>
 
<fname>Артем</fname>
 
<sname>Сидоров</sname>
 
<mfname>Никита</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>28</id>
 
<fname>Марк</fname>
 
<sname>Антонов</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>29</id>
 
<fname>Никита</fname>
 
<sname>Сидоров</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>30</id>
 
<fname>Артем</fname>
 
<sname>Антонов</sname>
 
<mfname>Никита</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>31</id>
 
<fname>Артем</fname>
 
<sname>Коверга</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>32</id>
 
<fname>Артем</fname>
 
<sname>Антонов</sname>
 
<mfname>Никита</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>33</id>
 
<fname>Илья</fname>
 
<sname>Антонов</sname>
 
<mfname>Артем</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>34</id>
 
<fname>Никита</fname>
 
<sname>Коверга</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>35</id>
 
<fname>Илья</fname>
 
<sname>Коверга</sname>
 
<mfname>Никита</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>36</id>
 
<fname>Артем</fname>
 
<sname>Сидоров</sname>
 
<mfname>Артем</mfname>
 
<msname>Коверга</msname>
 
</employee>

-<employee>
 
<id>37</id>
 
<fname>Марк</fname>
 
<sname>Коверга</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>

-<employee>
 
<id>38</id>
 
<fname>Артем</fname>
 
<sname>Антонов</sname>
 
<mfname>Артем</mfname>
 
<msname>Руденко</msname>
 
</employee>
 
</employers>
и заношу значение в массив объектов класса
    public class emp
    {
        public string FName;
        public string SName;
        public string MFName;
        public string MSName;
    }
Вывожу всё на экран, далее либо вывести подчиненных для заданного работника либо начальника для заданного работника, либо снова вывести всех вот в таком цикле
            do
            {
                Console.WriteLine("\nPrint first name of employee");
                linefn = Console.ReadLine();
                Console.WriteLine("Print second name of employee");
                linesn = Console.ReadLine();
                Console.WriteLine("Press 'C' to see CEO for this employee\nPress 'S' to see all subordinates for this employee\nPress 'E' to print names of every person\nPress 'Escape' to exit\n");
                cki = Console.ReadKey();
                if(cki.Key == ConsoleKey.C)
                {
                    for(int a = 0; a < count; a++)
                    {
                        if (linefn == empl[a].FName && linesn == empl[a].SName)
                        {
                            Console.WriteLine("{0}\t{1} is {2}\t{3}'s CEO\n", empl[a].MFName, empl[a].MSName, linefn, linesn );
                            prov = false;
                        }
                    }
                    if (prov) Console.WriteLine("{0}\t{1} dont have CEO", linefn, linesn);
                    prov = true;
                }
                if(cki.Key == ConsoleKey.S)
                {
                    Console.WriteLine("{0}\t{1}'s subordinates:", linefn, linesn);
                    for(int a = 0; a < count; a++)
                    {
                        if(linefn == empl[a].MFName && linesn == empl[a].MSName)
                        {
                            Console.WriteLine("{0}\t{1}", empl[a].FName, empl[a].SName);
                            prov = false;
                        }
                    }
                    if (prov) Console.WriteLine("subordinates not found");
                    prov = true;
                }
                if(cki.Key == ConsoleKey.E)
                {
                    for (int a = 0; a < count; a++)
                    {
                        Console.WriteLine("First name: {0}\tSecond name:{1}", empl[a].FName, empl[a].SName);
                    }
                }
            }  while (cki.Key != ConsoleKey.Escape);
но ничего не выводится, не пойму что не так, где я не правильно сравниваю?..
помогииите

Решение задачи: «Неправильное чтение xml файла»

textual
Листинг программы
do
            {
                Console.WriteLine("\nPrint first name of employee");
               string linefn = Console.ReadLine();
                Console.WriteLine("Print second name of employee");
               string linesn = Console.ReadLine();
                Console.WriteLine("Press 'C' to see CEO for this employee\nPress 'S' to see all subordinates for this employee\nPress 'E' to print names of every person\nPress 'Escape' to exit\n");
                cki = Console.ReadKey();
                switch (cki.Key)
                        
                {
                    case ConsoleKey.C: // выводим всех с введенными именем и фамилией
                        for (int a = 0; a < count; a++)
                    
                        {
                            if (linefn.Equals(empl[a].FName) && linesn == empl[a].SName)
                            {
                                Console.WriteLine("{0}\t{1} is {2}\t{3}'s CEO\n", empl[a].MFName, empl[a].MSName, linefn, linesn);
                                prov = false;
                            }
                        }
                        if (prov) Console.WriteLine("{0}\t{1} dont have CEO", linefn, linesn);
                        prov = true;
                        break;
                    case ConsoleKey.S: 
                        Console.WriteLine("{0}\t{1}'s subordinates:", linefn, linesn);
                        for (int a = 0; a < count; a++)
                        {
                            if (linefn == empl[a].MFName && linesn == empl[a].MSName)
                            {
                                Console.WriteLine("{0}\t{1}", empl[a].FName, empl[a].SName);
                                prov = false;
                            }
                        }
                        if (prov) Console.WriteLine("subordinates not found");
                        prov = true;
                        break;
                    case ConsoleKey.E:
                        for (int a = 0; a < count; a++)
                        {
                            Console.WriteLine("First name: {0}\tSecond name:{1}", empl[a].FName, empl[a].SName);
                        }
                        break;
                    }
            }while(cki.Key != ConsoleKey.Escape);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5