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 回答