Blog Posts » PHP » simplexml_load_string()

simplexml_load_string()

Berikut ini adalah cara mengolah string xml hasil grabbing (curl/file_get_contents) dari http://search.4shared.com/network/searchXml.jsp menggunakan simplexml_load_string(). Sebenarnya bisa langsung menggunakan simplexml_load_file() tanpa melalui curl/file_get_contents dulu, akan tetapi kadang host men-disable URL-access pada simplexml_load_file().

Dibawah ini adalah file xml di http://search.4shared.com/network/searchXml.jsp (telah disederhanakan sebagai contoh):
[Textarea][RAW][Download]

  1. <search-result>
  2.     <total-files>2</total-files>
  3.     <pages-total>1</pages-total>
  4.     <result-files>
  5.         <file>
  6.             <name>4shared_Desktop_3.3.5M.exe</name>
  7.             <url>http://www.4shared.com/file/rcqWGFkL/4shared_Desktop_335M.htm</url>
  8.             <size>3,420 KB</size>
  9.         <file>
  10.         <file>
  11.             <name>4Sync-1.0.54m.exe</name>
  12.             <url>http://www.4shared.com/file/0fPQt-Do/4Sync-1054m.htm</url>
  13.             <size>7,728 KB</size>
  14.         </file>
  15.     </result-files>
  16. </search-result>


Mari kita mulai,
[Textarea][RAW][Download]

  1. <?php
  2. $contents = file_get_contents('http://search.4shared.com/network/searchXml.jsp');
  3. $xml = simplexml_load_string($contents);
  4. $xml->{'total-files'}; // 2
  5. $xml->{'pages-total'}; // 1
  6. $ResultFiles = $xml->{'result-files'}; // khusus bagian ini harus kita loop menggunakan foreach karena masih mempunyai dua anak yaitu <file>
  7. foreach($ResultFiles->children() as $File) {
  8. $File->name;
  9. $file->url;
  10. $File->size;
  11. }


Sampai disini masih bingung, gan? Silahkan download Source-nya disini ;)

(admin)