【发布时间】:2016-04-20 21:41:17
【问题描述】:
好的...我正在使用 PHP 5(温和一点,还在学习 PHP)。卷曲已启用。尝试将 API 中的 XML 或 JSON 输出加载到对象,但没有任何反应。当我手动执行有问题的 URL 时,我得到了我所期望的。
这是我的代码:
class XmlToJson {
public function Parse ($url) {
$fileContents = file_get_contents($url);
$fileContents = str_replace(array("\n", "\r", "\t"), '', $fileContents);
$fileContents = trim(str_replace('"', "'", $fileContents));
$simpleXml = simplexml_load_string($fileContents);
$json = json_encode($simpleXml);
return $json;
}
}
$_MySQLServer = "localhost";
$_MySQLServerUserName = "";
$_MySQLServerPassword = "";
$_MySQLDatabaseName = "";
$_SSActiveWear_UserID = "*****";
$_SSActiveWear_APIKey = "*****";
$_SSActiveWear_APIBaseURL = "https://*****/v2";
$_CategoryURL = "/categories/";
$_StylesURL = "/styles/";
$_ProductsURL = "/products/";
$_SpecsURL = "/specs/";
$_SSActiveWear_MediaType = "xml";
//$_conn = mysqli_connect($_MySQLServer, $_MySQLServerUserName, $_MySQLServerPassword, $_MySQLDatabaseName);
//Insert or Update Categories
$_URL = $_SSActiveWear_APIBaseURL . $_CategoryURL;
$_URL = $_URL . "?mediatype=$_SSActiveWear_MediaType&UserName=$_SSActiveWear_UserID&Password=$_SSActiveWear_APIKey";
$OBJ = simplexml_load_string($_URL);
print_r($OBJ);
我做错了什么?
编辑 1
添加以下代码:
$xml = simplexml_load_file($_URL) or die("Error: Cannot create object");
print_r($xml);
然后它就死了。这是否意味着代码有问题?
【问题讨论】:
-
你能在运行时在机器上运行 fiddler 来验证你的呼叫是否正在发出并将数据返回到你的 php 吗?如果发生这种情况,那么您的代码是错误的。如果调用有错误,那么您可以在底部的提琴手响应屏幕中看到它们。见telerik.com/fiddler
-
没有错误。事实上,结果是一个帖子上的 http-200,所以我不知道为什么它不起作用:(。