Php SimpleXML IF条件
我有一个XML文档,它将返回URL或错误代码。如果它返回错误代码,我想将页面重定向到错误图像。我可以让SimpleXML返回URL,但我不确定如果返回错误,如何编写条件。如果有人有任何建议,那就太好了!这就是我现在拥有的:Php SimpleXML IF条件,php,xml,simplexml,Php,Xml,Simplexml,我有一个XML文档,它将返回URL或错误代码。如果它返回错误代码,我想将页面重定向到错误图像。我可以让SimpleXML返回URL,但我不确定如果返回错误,如何编写条件。如果有人有任何建议,那就太好了!这就是我现在拥有的: <?php error_reporting(0); $url = 'http://radiocast.co/art/api1/key=KeyHere&album=' . htmlspecialchars($_GET["album"]) . '&arti
<?php
error_reporting(0);
$url = 'http://radiocast.co/art/api1/key=KeyHere&album=' . htmlspecialchars($_GET["album"]) . '&artist=' . htmlspecialchars($_GET["artist"]) . '';
$xml = simplexml_load_file($url);
$img = $xml->xpath('//image[@size="large"]');
$large = (string)$img[0];
header("Location:".urldecode($large));
?>
如果找不到XML文档,则返回以下内容:
<?xml version="1.0" encoding="utf-8"?>
<lookup status="failed">
<error code="3">Art not found</error></lookup>
找不到艺术品
如何检查XML中的错误节点,如果找到它,然后处理各种错误?如果你没有找到它,你可以继续你的正常逻辑
if (isset($xml->error)) {
switch ($xml->error['code']) {
case '3':
// not found stuff here
break;
// other error codes here
}
} else {
// success logic here
$img = $xml->xpath('//image[@size="large"]');
$large = (string) $img[0];
header("Location: " . urldecode($large));
}
如何检查XML中的错误节点,如果找到了,则处理各种错误?如果你没有找到它,你可以继续你的正常逻辑
if (isset($xml->error)) {
switch ($xml->error['code']) {
case '3':
// not found stuff here
break;
// other error codes here
}
} else {
// success logic here
$img = $xml->xpath('//image[@size="large"]');
$large = (string) $img[0];
header("Location: " . urldecode($large));
}
提示1:在根元素的名称之后,将变量重命名为
$lookup
。提高可读性。提示2:http_build_url或sprintf更适合构建url提示1:在根元素的名称之后将变量重命名为$lookup
。提高可读性。提示2:http_build_url或sprintf更适合构建url。我收到了几个警告和一个致命错误。我仍然不确定该怎么做错误是你的朋友:-)找出它们与哪一行重合,如果你不知道错误是指什么,用谷歌搜索错误消息。如果你自己无法解决这些问题,并且在谷歌上找不到任何东西,请将你的问题发回这里!我收到几个警告和一个致命错误。我仍然不确定该怎么做错误是你的朋友:-)找出它们与哪一行重合,如果你不知道错误是指什么,用谷歌搜索错误消息。如果你自己无法解决这些问题,并且在谷歌上找不到任何东西,请将你的问题发回这里!