2012-08-14 43 views
0

將xml拉入API的正確方法是什麼?正確的方式來「拉」xml到API?

api代碼中直xml的示例; (這是我們不希望,我們需要從文件中拉XML)

BigCommerce_Api::useXml(); 

$xml = "<?xml version="1.0" encoding="UTF-8"?> 
    <brand> 
     <name>Apple</name> 
     <search_keywords>computers laptops</search_keywords> 
    </brand>"; 

$result = BigCommerce_Api::createBrand($xml); 

我在通過FOPEN將在XML狡猾的嘗試;

<? 
require_once 'BigCommerce/Api.php'; 

BigCommerce_Api::configure(array(
'store_url' => 'https://apiurl', 
'username' => 'admin', 
'api_key' => 'apitoken' 
)); 

$filename = "xmlfile.xml"; 
$handle = fopen($filename, "r"); 
$XPost = fread($handle, filesize($filename)); 
fclose($handle); 

BigCommerce_Api::useXml(); 

$xml = $XPost; 

$result = BigCommerce_Api::createProduct($xml); 

?> 

如果有人可以讓我們知道如何把XML到useXML VAR適當,隨時分享:)

(部分代碼格式的應用引號之後結帳)

謝謝!

+1

歡迎來到SO!提示:不要使用短標籤(例如,使用'<?php'代替'<?')。他們是有爭議的,有一些證據表明他們會被棄用(如果他們還沒有)。這個問題,FWIW,是「太本地化」或「不是真正的問題」之間的混亂。 – 2012-08-14 23:20:32

+0

您可能想查看[PHP DOM](http://php.net/manual/en/book.dom.php)。 – 2012-08-14 23:27:43

回答

5

我不知道爲什麼你讓你的生活變得複雜:

BigCommerce_Api::useXml(); 

$xml = file_get_contents('xmlfile.xml'); 

$result = BigCommerce_Api::createBrand($xml); 

file_get_contents

+0

@Shaquin Trifonoff:de沒有問題。 php.net前的子域名。它只是一面鏡子,你只能看到和php.net相同的速度。 – hakre 2012-08-14 23:31:46

+0

這取決於你住在哪裏。如果你身處世界的另一邊,它會變得更慢。 (我不會因爲我在新西蘭而把鏈接指向http://nz.php.net)。另外,在使用Beta PHP.net時,會出現'This is a-progress-experiment experimental design'消息。 – 2012-08-14 23:33:20

+0

除非您的cookie未設置,否則您仍然會看到重定向到本地鏡像。只是你會更快地看到它,因爲在一天的特定時間,php.net的重定向速度很慢。 – hakre 2012-08-14 23:36:53