1

SimpleXMLを使用してAPI呼び出しからの応答をロードしています。ただし、サーバーがエラーを返した場合、サーバーはエラーメッセージを含む単一のXMLタグのみを返します。

<err>ERROR MESSAGE HERE</err>

私は現在、このコードを使用してAPI応答を解析しています。

$parsedresponse = simplexml_load_string($response);

$ parsedresponse変数には、エラーメッセージのみが含まれています。ただし、<err>タグが存在するかどうかを確認する方法が必要なので、エラーが発生したかどうかを確認できます。私はこれを行う方法を理解できないようです...

ありがとうございました!

4

2 に答える 2

1

errタグがルートタグの場合は、次の条件を使用してエラーをトレースします。

if ($parsedresponse->getName()=='err'){
    // got it
}

その最初の子供が使用する場合

if (isset($parsedresponse->err)){
    // got it
}
  • 必要に応じて条件を無効にします。
于 2013-01-23T19:07:11.120 に答える
0
<?php

$xml = <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<err>ERROR MESSAGE HERE</err>
EOF;

$sxml = simplexml_load_string($xml);

if ($sxml->getName() != "err") print('not set');
else print('set');

?>
于 2013-01-23T19:08:32.867 に答える