Https URL XML alın

3 Cevap php

Ben birden çok XML beslemeleri veri almak için çalışıyor ve kopyalama olmam benim yerel veritabanına veri. Ben SimpleXML ve ben internette buldum bazı başka şeyler bakarak denedim ama ne böyle bir şey almak için en iyi yol merak ediyorum.

Ben güvenli bir yere gelen XML olsun ama aynı zamanda dizilerin bir dizi dönüştürmek değil sadece bir şey arıyorum.

3 Cevap

Bu CURL ve dizi sınıfa çeşit XML ile yapabileceğiniz oldukça basit bir işlemdir. Seni de burada ayrıntılarını vereceğim.

PHP:

/* run mozilla agent */
$agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1';

$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $agent); //make it act decent
curl_setopt($ch, CURLOPT_URL, $url);         //set the $url to where your request goes
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //set this flag for results to the variable
curl_setopt($ch, CURLOPT_POST, 1);           //if you're making a post, put the data here
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //as a key/value pair in $post
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //This is required for HTTPS certs if
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); //you don't have some key/password action

/* execute the request */
$result = curl_exec($ch);
curl_close($ch);

/* now parse the resulting XML using XMLToArray class from 
Razzaque Rupom http://groups.yahoo.com/group/phpresource/ */
require_once('lib/class.XmlToArray.php');
$parser = new XmlToArray($result);
$data = $parser->createArray();

Ve orada o var.

  • Mitch

Kullanırken SimpleXML sizin düğümleri dizileri içeren bir nesne olarak XML olsun. Ben şahsen, çünkü basitlik ve genel performansı, diğer XML-çözümleyici üzerinde SimpleXML kullanmayı tercih. Bu XPath çözümleyici olarak kullanıldığında sadece birkaç düğümleri almak için yanı sıra kolay veri işlenirken bir DOM-manipülatör olarak kullanmak kolaydır.

Senin çok büyük bir XML dosyası üzerinden geçme Eğer tembel yükler düz yukarı SAX-Çözümleyici ile daha iyi olabilir, ama bir ağ üzerinden okuyorsanız beri performans farkları ihmal edilebilir olduğuna inanıyoruz.

Kullanım cURL (http://php.net/manual/en/ref.curl.php) ve ardından yüklemek için simplexml_load_string, https yerden veri almak için.