I looked through a few thread here on stack overflow and I cannot find the answer. I have an xml file setup like the following:
<entry id="1" type="a">
<name>string 1</name>
<description>any description</description>
</entry>
<entry id="2" type="b">
<name>string 2</name>
<description>any description #2</description>
</entry>
I need to select all "entry" tags and return the ID, the Type, the inner name and description tags of the entry. How can I do so with C#?
Thanks,
Keep in mind, that your xml file should have single root node. Here is parsing with Linq to Xml:
var xdoc = XDocument.Load(path_to_xml);
var entries = from e in xdoc.Descendants("entry")
select new {
Id = (int)e.Attribute("id"),
Type = (string)e.Attribute("type"),
Name = (string)e.Element("name"),
Description = (string)e.Element("description")
};
Query will return sequence of anonymous objects corresponding to each entry element (with properties Id, Type, Name, and Description).
Look at HtmlAgilityPack library. Using it you can parse HTML using LINQ or XPath.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With