You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET的C#中解析XML获取entry id的数量?

获取XML中entry id数量的C#实现方法

嘿,我来帮你搞定这个统计XML中entry id数量的需求!你给出的XML里确实有5个带id的entry元素,这里给你两种实用的C#实现方式,任选其一就行:

首先先把你的XML内容放在这里方便参考:

<entry_list version="1.0"> 
  <entry id="cipher[1]">...</entry> 
  <entry id="cipher[2]">...</entry> 
  <entry id="cypher">...</entry> 
  <entry id="substitution cipher">...</entry> 
  <entry id="transposition cipher">...</entry> 
</entry_list>

方法一:使用LINQ to XML(XDocument)

这是比较现代、简洁的实现方式,代码可读性高,推荐优先使用:

using System;
using System.Xml.Linq;

class Program
{
    static void Main()
    {
        // 可以替换成从文件加载:XDocument.Load("你的XML文件路径")
        string xmlContent = @"<entry_list version=""1.0""> 
                                <entry id=""cipher[1]"">...</entry> 
                                <entry id=""cipher[2]"">...</entry> 
                                <entry id=""cypher"">...</entry> 
                                <entry id=""substitution cipher"">...</entry> 
                                <entry id=""transposition cipher"">...</entry> 
                              </entry_list>";

        XDocument xmlDoc = XDocument.Parse(xmlContent);
        // 统计所有带id属性的entry元素数量
        int entryIdCount = xmlDoc.Descendants("entry")
                                 .Where(entry => entry.Attribute("id") != null)
                                 .Count();

        Console.WriteLine($"entry id的数量是:{entryIdCount}"); // 输出结果:5
    }
}

小提示:如果能确定所有<entry>元素都带有id属性,那可以简化成xmlDoc.Descendants("entry").Count(),省去筛选步骤。

方法二:使用XmlDocument(传统DOM解析)

如果你习惯使用传统的XML DOM API,这个方法也很可靠:

using System;
using System.Xml;

class Program
{
    static void Main()
    {
        // 可以替换成从文件加载:doc.Load("你的XML文件路径")
        string xmlContent = @"<entry_list version=""1.0""> 
                                <entry id=""cipher[1]"">...</entry> 
                                <entry id=""cipher[2]"">...</entry> 
                                <entry id=""cypher"">...</entry> 
                                <entry id=""substitution cipher"">...</entry> 
                                <entry id=""transposition cipher"">...</entry> 
                              </entry_list>";

        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(xmlContent);
        // 用XPath表达式选择所有带id属性的entry元素
        XmlNodeList entryNodes = xmlDoc.SelectNodes("//entry[@id]");
        int entryIdCount = entryNodes.Count;

        Console.WriteLine($"entry id的数量是:{entryIdCount}"); // 输出结果:5
    }
}

这里的//entry[@id]是XPath语法,意思是匹配XML中所有层级下带有id属性的<entry>元素,非常直观。

内容的提问来源于stack exchange,提问作者iamal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:25:15