我正在使用此代码来解析来自API的XML响应。获取错误尝试获取非对象的属性
$doc = new \DOMDocument();
$doc->loadXML($response);
$doc->preserveWhiteSpace = false;
$doc->formatOutput = true;
$xml_string = $doc->saveXML();
$doc->loadXML($xml_string);
如果给出正确的结果,则工作正常,但如果给出错误,则对未定义的对象进行错误调用。我正在访问像这样的值
if($doc->getElementsByTagName('accepted')->item(0)->nodeValue == true){
$json = array(
'success' => 1,
'ACN' => $doc->getElementsByTagName('acn')->item(0)->nodeValue,
'URL' => htmlspecialchars($doc->getElementsByTagName('certificateUrl')->item(0)->nodeValue)
);
}else{
$json = array(
'success' => 0,
'error' =>"",
);
}
因此,如果accepted的值为true,则可以正常工作并给出所需的结果。但是,如果接受的不存在,则会引发错误。如何检查XML中是否存在该节点?任何帮助表示赞赏。
答案 0 :(得分:1)
DOM::getElementsByTagName返回一个DOMNodeList实例。该对象具有length属性,您可以在继续访问其中的项目之前检查该属性。
envFrom:
- configMapRef:
name: app-config