引用第一个子节点并获取对象引用错误

时间:2012-11-16 18:54:28

标签: c#

我有两个不同的XML响应可以返回。它们看起来像这样:

1)如果没有用户,则返回。

<ArrayUser xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

2:如果找到用户,则返回。

<ArrayUser xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <User>
    <Name></Name>
    <ID></ID>
  </User>

这是我目前的代码:

        if (userLookupResponse.DocumentElement.FirstChild.Name.Equals("User")) 
        {
            XmlNamespaceManager nsm = addXmlNamespaces(userLookupResponse);
            userLookupResponse.LoadXml(userLookupResponse.SelectSingleNode("//SSO:User", nsm).OuterXml);
            return userLookupResponse;
        }

我的问题是,如果用户未返回,则if语句中的错误,对象引用未设置为对象错误的实例。如果返回带有用户信息的数字2,我怎样才能进入if语句?

感谢。

1 个答案:

答案 0 :(得分:1)

  

if(userLookupResponse.DocumentElement.FirstChild.Name.Equals(“User”))

我猜测,因为没有孩子,FirstChild将为null。

为什么不改变您的测试升技以查看:

  

if(userLookupResponse.DocumentElement.FirstChild!= null)