これらの XML を反復する正しい方法はどれですか?
やあ。
いくつかのクライアントを統合するための Web サービスがあります。
webservice が 1 つのクライアントのみを返す場合、結果は次のようになります。
<ClientsToIntegrateResult>
<Client>
<Id>1</Id>
<Name>John</Name>
</Client>
</ClientsToIntegrateResult>
webService が複数のクライアントを返す場合、結果は次のようになります。
<ClientsToIntegrateResult>
<Client>
<Id>1</Id>
<Name>John</Name>
</Client>
<Client>
<Id>2</Id>
<Name>Peter</Name>
</Client>
</ClientsToIntegrateResult>
そして、webService から結果を読み取るための PHP コードがあります。 $myWSResponse は webService のインスタンスです。
$clients = $myWSResponse->ClientsToIntegrateResult;
foreach ($clients->Client as $client )
{
print_r($client); //Print the client node and its properties if more than one client, and prints each property of client node if only one client.
print_r($client->Id); //Give me error if only one client, because Id will not exist.
}
私の問題は、Web サービスが 1 つのクライアントのみを返す場合、コードが機能しないことです。複数のクライアントがある場合、 foreach$clients->Client
は配列になるため、必要に応じて正常に動作します。しかし、webService が 1 つのクライアントのみ$clients->Client
を返すと、ノード自体になり、私のコードはエラーをスローします。
解決するにはどうすればよいですか?
私は PHP 開発には慣れていませんが、.NET 開発には慣れていません。どんな助けも貴重です。