Bir url bir xml ayrıştırmak için çalışıyor ve o alışkanlık iş

3 Cevap php

Bu sayfa bir xml dosyası ve dışarı veri ayrıştırmak ve yazdırmak için SimpleXML kullanmaya çalışıyor im gösterilmiştir. ben ne eksik? neden öyle her i çalıştırdığınızda boş bir sayfa göstermek olduğunu.

<?php
$url = "http://api.scribd.com/api?method=docs.getList&api_key=somestring";

$xml = new SimpleXMLElement($url,NULL,true);

foreach($xml -> result as $value) {


    echo $value->doc_id."<br/>";
    echo $value->access_key."<br/>";
    echo $value->secret_password."<br/>";
    echo $value->title."<br/>";



}

?>

3 Cevap

(Pek bir cevap, ama ...) bitler yürütme görmek için sonra foreach döngüsü içinde, önce bazı ortak metin ekleyin ve ne sıklıkta döngü çalışır.

<result> <rsp> ama <resultset> arasında bir çocuk değil

foreach($xml->resultset->result as $value) {

Sen her zaman temsil düğüm sonra PHP değişkenleri isim olmalıdır. Senin durumunda, kök düğümü <rsp/>, bu nedenle kök düğümü tutan değişken olması gerektiğidir $rsp. Bu şekilde, kolayca bir hata <result/> düğümleri erişmeye çalışıyoruz şekilde var olduğunu fark edebilirsiniz:

$rsp = simplexml_load_file($url);

foreach ($rsp->resultset->result as $result)
{
    echo $result->doc_id, "<br/>\n";
}

Orada, artık hiçbir belirsizlik.

<rsp>
    <resultset>
        <result />
    </resultset>
</rsp>

PHP:
$rsp->resultset->result

XPath:
/rsp/resultset/result

Ve $value için ne ifade eder daha sonra merak.