Nasıl SimpleXML kullanarak PHP bu yankı yapardı

1 Cevap php
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>

Tamam ben sadece SimpleXML kullanmayı öğreniyorum. Ben farklı sitelere benzer API bulunuyor çalıştırmak için bir komut dosyası koşuyorum, ama bu farklı. Ben bunu bir başarı olsaydı, bir hata ya da dize olsaydı ben hatayı yankı PHP kullanmak nasıl emin değilim. Ben şimdi kullanıyorum API sadece olursa olsun sonucu doğru veya yanlış ama hala aynı hiyerarşi sahibiz.

Örneğin

http://gdataonline.com/qkhash.php?mode=xml&hash=notanactualhashandwillnotbefound That hash will not be found. http://gdataonline.com/qkhash.php?mode=xml&hash=098f6bcd4621d373cade4e832627b4f6 That hash will return "test"

Gördüğünüz gibi hiyerarşi aynı olması ve böylece ayrıştırmak kolay ve yankı olacak

1 Cevap

Sana soran anlamak emin değilim, ama sadece, örneğin, SimpleXMLElement URL yüklemek ve düzenli nesne gösterimi ile düğümleri erişmek

$parentNode->childNode

Varsa Aşağıdaki örnek URL ve çıkışı hata XML yüklemek ve eğer bu çıkışı olacak dize düğüm.

$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
}