【问题标题】:C# Checking elements in xml fileC#检查xml文件中的元素
【发布时间】:2018-08-26 00:09:10
【问题描述】:

我有以下 xml 文件:

  <Resources>
    <a>123.png</a>
 </Resources>
 <Resources>
    <a>Background\345.png</a>
 </Resources>
<Resources>
    <b>d1.wav</b>
</Resources>

我想检查元素是否有不同的功能:

        foreach (var downloadFile in downloadFiles.Elements("Resources"))
        {
            if (downloadFile.Element("a").Value != null)
            {
                  // function for a
            }
            else if (downloadFile.Element("b").Value != null)
            {
                  // function for b
            }
         }

循环到达元素b时会出现错误“System.NullReferenceException”。

你们知道怎么回事吗?

【问题讨论】:

    标签: c# .net foreach element xelement


    【解决方案1】:

    查看您的 XML,并非所有资源都具有 b 元素,因此您会得到 NRE,因为 Element("b") 返回 null。如果要检查元素是否存在,请将 Element 与 null 进行比较,而不访问 Value 属性:

    if (downloadFile.Element("b") != null)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      • 1970-01-01
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多