XML проход по всему файлу и вывод нужного в textbox - C#
Формулировка задачи:
я пытался найти то что мне нужно, но видимо я тугодум((. кучу всего перелазил и не смог понять как это применить в моей ситуации, а делать нужно.
вот xml файл:
я хочу чтобы цикл прошел все people и там где в атрибуте name стоит например "Денисович Денис Денисов" вывести в textbox значение в теге "date".
Листинг программы
- <?xml version="1.0" encoding="utf-8"?>
- <root>
- <people name="Тупиков Антон Андреевич">
- <date>30.06.2016</date>
- </people>
- <people name="Денисович Денис Денисов">
- <date>22.04.2015</date>
- </people>
- <people name="Иринюк Ирина Ириновна">
- <date>27.08.2016</date>
- </people>
- <people name="Петров Петр Петрович">
- <date>13.03.2011</date>
- </people>
- </root>
Решение задачи: «XML проход по всему файлу и вывод нужного в textbox»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.IO;
- using System.Xml.Linq;
- namespace WindowsFormsApplication1 {
- public partial class Form1 : Form {
- XDocument persons = null;
- public Form1() {
- InitializeComponent();
- this.Load += new EventHandler(Form1_Load);
- lstbxPersons.SelectedValueChanged += new EventHandler(lstbxPersons_SelectedValueChanged);
- }
- void lstbxPersons_SelectedValueChanged(object sender, EventArgs e) {
- string name = (sender as ListBox).SelectedItem.ToString();
- if (string.IsNullOrWhiteSpace(name)) {
- return;
- }
- var query = persons.Descendants("people").Where(p => p.Attribute("name").Value == name).FirstOrDefault();
- if (query != null) {
- txtDate.Text = query.Element("date").Value;
- }
- }
- void Form1_Load(object sender, EventArgs e) {
- persons = XDocument.Load("test.xml");
- string[] names = persons.Descendants("people").Select(p => p.Attribute("name").Value).ToArray();
- lstbxPersons.Items.AddRange(names);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д