XML проход по всему файлу и вывод нужного в textbox - C#

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

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

я пытался найти то что мне нужно, но видимо я тугодум((. кучу всего перелазил и не смог понять как это применить в моей ситуации, а делать нужно. вот xml файл:
Листинг программы
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <root>
  3. <people name="Тупиков Антон Андреевич">
  4. <date>30.06.2016</date>
  5. </people>
  6. <people name="Денисович Денис Денисов">
  7. <date>22.04.2015</date>
  8. </people>
  9. <people name="Иринюк Ирина Ириновна">
  10. <date>27.08.2016</date>
  11. </people>
  12. <people name="Петров Петр Петрович">
  13. <date>13.03.2011</date>
  14. </people>
  15. </root>
я хочу чтобы цикл прошел все people и там где в атрибуте name стоит например "Денисович Денис Денисов" вывести в textbox значение в теге "date".

Решение задачи: «XML проход по всему файлу и вывод нужного в textbox»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.IO;
  10. using System.Xml.Linq;
  11.  
  12. namespace WindowsFormsApplication1 {
  13.     public partial class Form1 : Form {
  14.         XDocument persons = null;
  15.  
  16.         public Form1() {
  17.             InitializeComponent();
  18.             this.Load += new EventHandler(Form1_Load);
  19.             lstbxPersons.SelectedValueChanged += new EventHandler(lstbxPersons_SelectedValueChanged);
  20.         }
  21.  
  22.         void lstbxPersons_SelectedValueChanged(object sender, EventArgs e) {
  23.             string name = (sender as ListBox).SelectedItem.ToString();
  24.             if (string.IsNullOrWhiteSpace(name)) {
  25.                 return;
  26.             }
  27.             var query = persons.Descendants("people").Where(p => p.Attribute("name").Value == name).FirstOrDefault();
  28.             if (query != null) {
  29.                 txtDate.Text = query.Element("date").Value;
  30.             }
  31.         }
  32.  
  33.         void Form1_Load(object sender, EventArgs e) {
  34.             persons = XDocument.Load("test.xml");
  35.             string[] names = persons.Descendants("people").Select(p => p.Attribute("name").Value).ToArray();
  36.             lstbxPersons.Items.AddRange(names);
  37.         }
  38.     }
  39. }

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


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

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

8   голосов , оценка 4.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы