PHP ile XML sayfasının unsurları retreive

0 Cevap php

PHP ve XML çevresinde başımı sarmak çalışıyorum.

Ben bir şeyler yapmaya çalışıyorum:

Ben cURL (ayrıca alma yöntemi önemli değil gibi XMLReader::open($url), vb gibi çeşitli PHP XML kitaplık parametreleri çalıştı yoluyla alınırken ediyorum bir XML belgesi var; ben ve çalışma bu bölümü var olabilir.

Sorun alınan sayfada XML ayrıştırma.

İşte XML bir örnek:

http://z3950.loc.gov:7090/voyager?version=1.1&operation=searchRetrieve&query=9780471615156&maximumRecords=1&recordPacking=xml&recordSchema=marcxml

Ne o sayfadan almak gerekiyor çağrı sayıdır;

<datafield tag="060" ind1=" " ind2=" ">
  <subfield code="a">WM 173.6 R823m</subfield>
</datafield>

yazar;

<datafield tag="100" ind1="1" ind2=" ">
  <subfield code="a">Ross, Colin A.</subfield>
</datafield>

ve başlık bilgileri;

<datafield tag="245" ind1="1" ind2="0">
  <subfield code="a">Multiple personality disorder :</subfield>
  <subfield code="b">diagnosis, clinical features, and treatment /</subfield>
  <subfield code="c">Colin A. Ross.</subfield>
</datafield>

Yeterince basit görünüyor. Ancak, bana yaşam için (ben yanlış yapıyorum çünkü) çalışmak için XML ile çalışmak için dahili PHP işlevlerinin herhangi almak gibi olamaz.

İşte ben denedim bir örnek:

//xml file retrieved via curl and saved to folder
$file="9780471615156.xml";

$xml = simplexml_load_file($file);

echo $xml->getName();//returns searchRetrieveResponse

foreach($xml->searchRetrieveResponse[0]->attributes() as $a => $b){
  echo $a,'="',$b,"\"</br>";//nothing
 }

foreach ($xml->searchRetrieveResponse[0]->children() as $child){
  echo "Child node: " . $child . "<br />";//nothing
}

Bu ilk düğümün adını verir, ama herhangi bir derin gitmek için alınamıyor.

Herhangi bir ipucu büyük mutluluk duyacağız.

NB: Ben PHP 5 + koşuyorum

0 Cevap