Response example for MD5 hash found, for example http://md5.noisette.ch/md5.php?hash=2a0231531bc1a7fc29e2fa8d64352ae9 :
<md5lookup>
<hash>2a0231531bc1a7fc29e2fa8d64352ae9</hash>
<string>noisette</string>
</md5lookup>
Response for MD5 hash *not* found, for example http://md5.noisette.ch/md5.php?hash=11111111111111111111111111111111 :
<md5lookup>
<error>
No value in MD5 database for this hash.
</error>
</md5lookup>
Response for MD5 hash *not* found, for example http://md5.noisette.ch/md5.php?hash=1 :
<md5lookup>
<error>
The string provided is not a true MD5 hash. Please try again.
</error>
</md5lookup>
好的我只是在学习如何使用SimpleXML。我正在运行一个脚本来运行来自不同站点的类似API,但这是不同的。我不知道如果它是一个错误我将如何使用PHP来回显错误,如果它是成功的话我不知道如何使用字符串。我现在使用的API只有真或假,但无论结果如何,它仍然是相同的层次结构。
例如
http://gdataonline.com/qkhash.php?mode=xml&hash=notanactualhashandwillnotbefound 找不到该哈希值。 http://gdataonline.com/qkhash.php?mode=xml&hash=098f6bcd4621d373cade4e832627b4f6 该哈希将返回“test”
正如您所看到的,层次结构将是相同的,因此易于解析和回显
答案 0 :(得分:1)
我不确定我理解您的要求,但您只需将URL加载到SimpleXml并通过常规对象表示法访问节点,例如
$parentNode->childNode
以下示例将从URL加载XML并输出错误(如果存在),否则将输出字符串节点。
$baseUrl = 'http://md5.noisette.ch/md5.php?hash=';
$hashes = array('2a0231531bc1a7fc29e2fa8d64352ae9',
'11111111111111111111111111111111',
'not a hash');
foreach($hashes as $hash) {
// load the XML from the URL
$dom = simplexml_load_file($baseUrl . $hash);
if($dom->error) {
echo $dom->error;
} else {
echo $hash, ' : ', $dom->string;
}
echo PHP_EOL; // linebreak
}