C# 如果存在于XmlNodeList C中的XML节点上#

C# 如果存在于XmlNodeList C中的XML节点上#,c#,xml,exists,xmlnodelist,C#,Xml,Exists,Xmlnodelist,如何检查XmlNodeList中是否存在节点?我已经填充了一个列表,需要查询出特定的值。我就是这样做的 var xList = xelRoot.SelectNodes("aaa/bbb/ccc/ddd/eee/fff/ggg/hhh"); foreach (XmlNode node in xList) { serviceVal = node["service"].InnerText.ToString(); } 在某些情况下,服务节点不存在。当这种情况发生时,我得到错误“

如何检查XmlNodeList中是否存在节点?我已经填充了一个列表,需要查询出特定的值。我就是这样做的

var xList = xelRoot.SelectNodes("aaa/bbb/ccc/ddd/eee/fff/ggg/hhh");
foreach (XmlNode node in xList)
{    
       serviceVal = node["service"].InnerText.ToString(); 
}
在某些情况下,服务节点不存在。当这种情况发生时,我得到错误“对象引用未设置为对象的实例”

如果节点不存在,是否有方法返回字符串值

下面是xml的一个示例。请注意,规则1没有服务节点

<entry name="aaa">
              <from>any</from>
              <to>any</to>
              <source>any</source>
              <destination>any</destination>
              <source-user>any</source-user>
              <category>any</category>
              <service>any</service>
        </entry>
        <entry name="Rule 1">
              <from>any</from>
              <to>any</to>
              <source>any</source>
              <destination>any</destination>
              <source-user>any</source-user>
              <category>any</category>
        </entry>

任何
任何
任何
任何
任何
任何
任何
任何
任何
任何
任何
任何
任何

只需测试
null

XmlNode subNode;
foreach (XmlNode node in xList)
{    
    subNode = node["service"];
    if (subNode != null)
    {
        serviceVal = subNode.InnerText;
    }
    else 
    {
        serviceVal = string.Empty;
    } 
}
XmlNode子节点;
foreach(xList中的XmlNode节点)
{    
子节点=节点[“服务”];
if(子节点!=null)
{
serviceVal=subNode.InnerText;
}
其他的
{
serviceVal=string.Empty;
} 

}
此处节点的类型是什么?(它看起来不像是
XmlNodeList
…)一个简短但完整的程序将真正有助于澄清问题-如果您可以使用LINQ to XML,很可能也会导致代码更简单。hhh下有很多子节点,我需要获取所有子节点。获取hhh下所有内容的查询正在运行。我已经用一个例子更新了这个问题XML@user5019819然后进行
null
测试。