加载外部XML并使用PHP保存它

时间:2012-12-11 22:11:41

标签: php xml

我想加载并保存一个不断变化的外部XML文件 例如" HTTP://something.com/file.xml"

有时文件不可用,因为服务器过载或停机而我想要使用此文件并在下次加载可用时重新保存它也让人们知道他们正在读取的文件是备份文件,因为原件不可用。

我读过simplexml_load_file和DOMDocument,但我不知道哪一个是更好的解决方案。

1 个答案:

答案 0 :(得分:1)

$url = "http://www.test.com/xmlfile.xml";
$timeout = 10;

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);

try {
    $response = curl_exec($curl);
    curl_close($curl);

    // success! Let's parse it and perform whatever action necessary here.
    if ($response !== false) {
        /** @var $xml SimpleXMLElement */
        $xml = simplexml_load_string($response);
        $xml->saveXML("tofile.xml");
    } else {
        // Warn the user here
    }
} catch (Exception $ex) {
    // Let user's know that there was a problem
    curl_close($curl);
}