8

我在这里查看了堆栈溢出的几个线程,但找不到答案。我有一个 xml 文件设置,如下所示:

<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>

我需要选择所有“条目”标签并返回条目的 ID、类型、内部名称和描述标签。我怎样才能用 C# 做到这一点?

谢谢,

4

2 回答 2

13

请记住,您的 xml 文件应该有一个根节点。下面是使用 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")
              };

查询将返回与每个条目元素对应的匿名对象序列(具有属性 Id、Type、Name 和 Description)。

于 2013-01-09T00:40:21.320 回答
1

查看HtmlAgilityPack库。使用它,您可以使用 LINQ 或 XPath 解析 HTML。

于 2013-01-09T00:32:48.443 回答