Выбор узла XML по значению другого узла - C#
Формулировка задачи:
Работаю с xml. Его структура такова :
У меня в программе есть значение тега id надо достать значение тегa artist из того же item ,в котором данное значение тега id.
Спасибо
<data> <item> <id>182</id> <art_url/> <artist>Kevin Griffiths</artist> <channel_id>182</channel_id> <display_artist>Kevin Griffiths</display_artist> <display_title>Cantona Kung Fu (Original Mix)</display_title> <duration>425</duration> <http://www.cyberforum.ru/images/> <length>425</length> <network_id>1</network_id> <release/> <started>1476543203</started> <title>Cantona Kung Fu (Original Mix)</title> <track>Kevin Griffiths - Cantona Kung Fu (Original Mix)</track> <track_id>992885</track_id> <type>track</type> </item> <item> <id>67</id> <art_url> //static.audioaddict.com/d/d/2/1/a/b/dd21ab7deb18a4b5a00e68601c4dafa2.jpg </art_url> <artist>Sygnals</artist> <channel_id>67</channel_id> <display_artist>Sygnals</display_artist> <display_title>Thymisis</display_title> <duration>529</duration> <images> <default> //cdn-images.audioaddict.com/d/d/2/1/a/b/dd21ab7deb18a4b5a00e68601c4dafa2.jpg{?size,height,width,quality,pad} </default> </images> <length>529</length> <network_id>1</network_id> <release>Superluminal</release> <started>1476542890</started> <title>Thymisis</title> <track>Sygnals - Thymisis</track> <track_id>713905</track_id> <type>track</type> </item>
Решение задачи: «Выбор узла XML по значению другого узла»
textual
Листинг программы
XElement xdata = XElement.Parse(xml); // Вариант раз string artist = xdata.XPathSelectElement("item[id[.='182']]/artist").Value.Dump(); // Вариант два string artist = xdata.Descendants("item") .Single(x => x.Element("id").Value == "182") .Element("artist").Value;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д