1

返すことができる 2 つの異なる 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("ユーザー"))

子がいないため、 FirstChild は null になると思います。

test abit を変更して、以下を確認してみませんか。

if (userLookupResponse.DocumentElement.FirstChild != null)

于 2012-11-16T19:00:14.793 に答える