Поиск по атрибуту тега XML - C#
Формулировка задачи:
Здравствуйте, нужна ваша помощь.
У меня есть сохраненный XML документ с такими вот элементами
Мне нужно совершить поиск по одному критерию по Классу, Ареалу или Названию и получить ВСЕ значения узла в котором он нашел атрибут . Например, есть форма с поиском, я вписываю критерий поиска("По Ареалу") и само значение("Минская"). И есть TextBox в который я должен поместить результат поиска.
Есть у меня наработка, этот код создает новый документ и помещает в него только элемент Animals0 и все его атрибуты, а мне нужно наоборот, чтобы он по атрибуту выводил весь узел..
Вроде бы ясно разъяснил, помогите уж чем сможете..
<?xml version="1.0" encoding="utf-8"?> <base> <Animals0 name="Окунь" cklass="0" areal="Минская" chsl="3" /> <Animals1 name="Зубр" cklass="1" areal="Витебская" chsl="7" /> <Animals2 name="Лиса" cklass="2" areal="Могилевская" chsl="19" /> </base>
private void button4_Click_1(object sender, EventArgs e) { XmlDocument doc = new XmlDocument(); doc.Load("C:\\Animals.xml"); XmlNode root_node = doc.DocumentElement; XmlNode node = root_node.SelectSingleNode("//Animals0"); File.WriteAllText("C:\\NewAnimals.xml", node.OuterXml); }
Решение задачи: «Поиск по атрибуту тега XML»
textual
Листинг программы
using System; using System.Net; using System.Xml; namespace Ghost { class Program { static void Main(string[] args) { string areal = "Минская"; string xpath = string.Format("//*[@areal='{0}']", WebUtility.HtmlEncode(areal)); XmlDocument document = new XmlDocument(); document.Load("D:\\1.xml"); XmlNode element = document.SelectSingleNode(xpath); Console.WriteLine(element.Attributes["name"].Value); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д