如果存在于 XmlNodeList C# 中的 XML 节点上
if exist on an XML node in XmlNodeList C#
如何检查 XmlNodeList 中是否存在节点?我已经填充了一个列表,我需要查询特定的值。我就是这样做的。
var xList = xelRoot.SelectNodes("aaa/bbb/ccc/ddd/eee/fff/ggg/hhh");
foreach (XmlNode node in xList)
{
serviceVal = node["service"].InnerText.ToString();
}
存在服务节点不存在的情况。当发生这种情况时,我收到错误 "Object reference is not set to instance of an object".
如果节点不存在,有没有办法return一个字符串值?
这里是 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"];
<b>if (subNode != null)</b>
{
serviceVal = subNode.InnerText;
}
else
{
serviceVal = string.Empty;
}
}
如何检查 XmlNodeList 中是否存在节点?我已经填充了一个列表,我需要查询特定的值。我就是这样做的。
var xList = xelRoot.SelectNodes("aaa/bbb/ccc/ddd/eee/fff/ggg/hhh");
foreach (XmlNode node in xList)
{
serviceVal = node["service"].InnerText.ToString();
}
存在服务节点不存在的情况。当发生这种情况时,我收到错误 "Object reference is not set to instance of an object".
如果节点不存在,有没有办法return一个字符串值?
这里是 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"];
<b>if (subNode != null)</b>
{
serviceVal = subNode.InnerText;
}
else
{
serviceVal = string.Empty;
}
}