1

我有两个可以返回的不同 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 语句?

谢谢。

4

1 回答 1

1

if (userLookupResponse.DocumentElement.FirstChild.Name.Equals("User"))

我猜 FirstChild 将是空的,因为没有孩子。

为什么不改变你的测试来看看:

if (userLookupResponse.DocumentElement.FirstChild != null)

于 2012-11-16T19:00:14.793 回答