In this XML file (http://www.studiovincent.net/list.xml):
<list version="1.0"> <meta> <type>resource-list</type> </meta> <resources start="0" count="4"> <resource classname="Quote"> <field name="name">Vincent</field> <field name="username">Hill</field> <field name="age">31</field> <field name="hair">black</field> </resource> <resource classname="Quote"> <field name="name">John</field> <field name="username">Tedelon</field> <field name="age">27</field> <field name="hair">brown</field> </resource> <resource classname="Quote"> <field name="name">Michael</field> <field name="username">Lopez</field> <field name="age">20</field> <field name="hair">red</field> </resource> <resource classname="Quote"> <field name="name">Frank</field> <field name="username">Lopez</field> <field name="age">25</field> <field name="hair">black</field> </resource> </resources> </list>
using this code:
using System.Xml; using.System.Xml.Linq; XmlReader reader = XmlReader.Create("http://www.studiovincent.net/list.xml"); XElement el = XElement.Load(reader); reader.Close(); var items = el.Elements("resources").Elements("resource").Descendants().DescendantNodes(); var items = from item in el.Elements("resources").Elements("resource").Descendants() where item.Attribute("name").Value == "name" select item.FirstNode; foreach (XNode node in items) { Console.WriteLine(node.ToString()); }
I have this OUTPUT:
Vincent John Michael Frank
The code works very well, but I need to get a value of 31 , which corresponds to the name = "age" field, where the name = "name" field is Vincent. How can I get this result?
source share