C#检查xml节点的安全方式?

时间:2012-02-12 01:59:35

标签: c# xml xpath

我有代码:

if (Element.SelectSingleNode("/rsp/merged_poco/organizations/organization/name") != null)
                this.Organization = Element.SelectSingleNode("/rsp/merged_poco/organizations/organization/name").InnerText;

然而,有一项更改,“merged_poco”可能没有“组织”。我的代码会导致错误吗?或者只是那个空检查就足够了? 在我的空检查中,我是否还要检查“组织”和“组织”是否存在?

2 个答案:

答案 0 :(得分:2)

您的代码应该足够了。您还可以按以下方式对其进行优化:

XmlNode node = Element.SelectSingleNode("/rsp/merged_poco/organizations/organization/name");
if (node != null)
    this.Organization = node.InnerText;

答案 1 :(得分:1)

如果您想知道某种方法的确切行为,请阅读its documentation

  

返回值
  输入:System.Xml.XmlNode
  如果找不到匹配的节点,则匹配XPath查询的第一个XmlNodenull