通过对带有注释的 XML 文档中的属性进行计数来实现异常 C#

阿列克谢

我想计算 XML 文档中的属性。没有它运行良好。但是在评论中我得到了一个例外:

System.NullReferenceException: '未将对象引用设置为对象的实例。'

可以用其他方式计算吗?或者为什么计数方法不忽略 xml 示例中的注释行?

XmlDocument doc = new XmlDocument();
doc.LoadXml(@"
           <ListOfMegaCities>
               <MegaCities city=""Moscow"" residents=""11503501"" foundation=""1624""/>
               <MegaCities residents=""8336817""/> <!-- comment test -->
               <MegaCities foundation=""1066""  city=""London""/>
           </ListOfMegaCities>");

XmlNodeList elemList = doc.GetElementsByTagName("ListOfMegaCities");
Console.Write("\nCount Attributes: " + elemList[0].ChildNodes[0].Attributes.Count);
Console.Write("\nCount Attributes: " + elemList[0].ChildNodes[1].Attributes.Count);
Console.Write("\nCount Attributes: " + elemList[0].ChildNodes[2].Attributes.Count);
伊扎克·哈宾斯基

最好使用 LINQ to XML API。自 2007 年以来,它在 .Net Framework 中可用。

一个单一的语句给出了没有任何循环的答案。

C#

void Main()
{
    XDocument xdoc = XDocument.Parse(@"<ListOfMegaCities>
               <MegaCities city='Moscow' residents='11503501' foundation='1624'/>
               <MegaCities residents='8336817'/> <!-- comment test -->
               <MegaCities foundation='1066'  city='London'/>
           </ListOfMegaCities>");
    
    int AttributeCounter = xdoc.Descendants("MegaCities")
        .Attributes().Count();
        
    Console.WriteLine("Total attributes counter: {0}", AttributeCounter);
}

输出

Total attributes counter: 6

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在ReSharper C ++中完成“ XML文档注释”

使用C#中的Xml文档取消注释XML片段

通过带有注释的运行时异常包装异常

C#vs2015中的C ++ DLL XML文档注释

如何将单个Java bean编组为带有现有注释的复杂XML文档?

通过带有嵌套元素的属性XML文件排序

C#编写Xml(带有http的属性)

我可以同时在Java文件和xml中使用带有注释的SI进行配置吗?

通过代码C#将注释添加到xml中的特定位置

Swashbuckle xml注释中带有&符的查询字符串

带有 C/C++ 扩展的 VSCode 中多行注释的错误缩进

如何通过带有soap标签的xml字符串中的PHP通过PHP添加子项

通过对MongoDB中嵌套的json数组文档的集合进行计数来分组

动态生成的Excel Xml(通过OpenXml)在其所有标签中均带有ax:

Struts2-通过带有动态参数的注释进行转发

注释中带有大括号的全局命名空间别名(双冒号)-C#

Symfony 6 - 带有属性注释的路由 - 如何通过变量传递路由名称?

如何解码包含XML文档的base64编码的字符串,该XML文档在C#中包含带有重音符号(á,é,í,ó,ú)的字符?

C# - 带有对象的数据注释

如何从C#中的XML文档中读取属性?

使用带有C#的XmlDocument读取XML数据-读取属性数据并拆分结果

JAVA漂亮的打印XML,带有正确格式的注释

如何使用PHP加载带有注释的XML文件

c#xml xpath创建属性(如果不在文档中)

C#项目中的XML注释未在VB中显示

如何在C#XML文档注释中为参数指定示例值?

在Visual Code(C#)中为学校项目添加XML文档注释文件

如何在C#中为XML准备带有外来/重音字符的字符串?

在 C# 中,如何将 POCO 序列化为带有大量花哨标记的 XML?