简体   繁体   中英

C# Parsing XML File

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM