.NET 3.x Прочитать XML элемент в котором есть элементы с атрибутами игнорируя остальных - C#
Формулировка задачи:
XML Прочитать элемент в котором есть элементы с атрибутами игнорируя остальных
вот XML
Пытаюсь прочитать определенного юзера
Получить его теги tinion
это Gion2 , Gion3
при этом игнорируя остальных, только определенный юзер и его tinion
Кто то подскажет что тут надо добавить , или пример скинет
<?xml version="1.0" encoding="utf-8" ?> <users> <version>1.000</version> <user name="Rion" password="123"> <project name="Hiopn" link="http//sitedown.com" /> </user> <user name="Pion" password="234"> <tinion name="Gion" link="http//tiondown.ru" /> </user> <user name="Pion" password="234"> <tinion name="Gion2" link="http//tiondown2.ru" /> <tinion name="Gion3" link="http//tiondown3.ru" /> </user> <user name="Pion" password="234"> <tinion name="Gion4" link="http//tiondown4.ru" /> </user> </users>
public string[] get_project_test(string xmlload) { string[] test =null; try { XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(xmlload); foreach (XmlNode n in xmldoc.SelectNodes("/users/user/tinion")) { if (n.Attributes["name"].Value == "Pion" && n.Attributes["password"].Value == "234") { for(int i=0;i<n.Attributes["name"].Value;i++) { test[i]=n.Attributes["name"].Value[i]; } } } } catch (Exception) { test[0] = "Ошибка"; } return test; }
Решение задачи: «.NET 3.x Прочитать XML элемент в котором есть элементы с атрибутами игнорируя остальных»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; namespace ConsoleApplication23 { class Program { static void Main(string[] args) { XDocument doc = XDocument.Load(@"C:\Test.xml"); var res = doc.Descendants("user").Where(u => u.Attribute("name").Value == "Pion" && u.Attribute("password").Value=="234"); if (res != null) { foreach (var r in res) { Console.WriteLine(r); } } Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д