Php 与XML相关的API?
做得对吗?我仍然对api的工作原理感到困惑。我是新手。我在谷歌上到处寻找答案。我遵循教程并试图修改它。这是最基本的 我想检索产品的图像,这是在销售(模式=热)幻灯片。如果您能帮助我了解api shld的工作方式,我将不胜感激 编辑 我正在尝试从pinnacle购物车的数据库中提取图像。所以我想列出它在xml中的内容您在下面看到的所有xml都在源代码视图上,但不在网页本身上,这正常吗?另外,当我试图在网页上显示图像时,图像不会出现。我不确定哪里出了错。Php 与XML相关的API?,php,xml,api,pinnacle-cart,Php,Xml,Api,Pinnacle Cart,做得对吗?我仍然对api的工作原理感到困惑。我是新手。我在谷歌上到处寻找答案。我遵循教程并试图修改它。这是最基本的 我想检索产品的图像,这是在销售(模式=热)幻灯片。如果您能帮助我了解api shld的工作方式,我将不胜感激 编辑 我正在尝试从pinnacle购物车的数据库中提取图像。所以我想列出它在xml中的内容您在下面看到的所有xml都在源代码视图上,但不在网页本身上,这正常吗?另外,当我试图在网页上显示图像时,图像不会出现。我不确定哪里出了错。 <Product>
<Product>
<Price><![CDATA[695.00000]]></Price>
<Visible><![CDATA[Yes]]></Visible>
<Taxable><![CDATA[Yes]]></Taxable>
<Weight><![CDATA[0.00]]></Weight>
<UPC><![CDATA[]]></UPC>
<Sku><![CDATA[]]></Sku>
<Title><![CDATA[Necklace]]></Title>
<URL><![CDATA[https://xxxxx/staging/index.php?p=product&id=80]]></URL>
<ThumbnailImageUrl><![CDATA[http://www.xxxxxxxxxx.com/staging/images/products/thumbs/100040.jpg]]></ThumbnailImageUrl>
<ImageUrl><![CDATA[http://www.xxxxxxxx.com/staging/images/products/100040.jpg]]></ImageUrl>
<Discontinued><![CDATA[No]]></Discontinued>
<Options> </Options>
<Added><![CDATA[2010-05-12 13:50:00]]></Added>
<ManufaturerName><![CDATA[]]></ManufaturerName>
<Description><![CDATA[<p> </p><p> </p>]]></Description>
<AmazonId><![CDATA[]]></AmazonId>
<AmazonItemCondition><![CDATA[]]></AmazonItemCondition>
<AmazonIdType><![CDATA[]]></AmazonIdType>
<EbayCategoryId><![CDATA[]]></EbayCategoryId>
<YahooPath><![CDATA[]]></YahooPath>
<GoogleItemCondition><![CDATA[]]></GoogleItemCondition>
<PricegrabberCategory><![CDATA[]]></PricegrabberCategory>
<PricegrabberItemCondition><![CDATA[]]></PricegrabberItemCondition>
<PricegrabberPartNumber><![CDATA[]]></PricegrabberPartNumber>
<InventoryControl><![CDATA[Yes]]></InventoryControl>
<PID><![CDATA[80]]></PID>
<ProductId><![CDATA[100040]]></ProductId>
<Qoh><![CDATA[1]]></Qoh>
<NextagCategory><![CDATA[]]></NextagCategory>
<NextagPartNumber><![CDATA[]]></NextagPartNumber>
<NextagItemCondition><![CDATA[]]></NextagItemCondition>
</Product>
]>
我的代码
<?php
$shop='www.xxx.com/staging/content/admin/plugins/openapi/index.php?';
$user = "asd";
$password = "ad";
$token = 'token';
// Assemble the account url
$url = 'https://'.$shop."username=".$user."&password=".$password."&token=".$token. "&apiType=xml&call=GetProducts&mode=hot";
// Setup the cURL object
$curl = curl_init();
curl_setopt($l_oCurl, CURLOPT_POST, 1);
curl_setopt( $curl, CURLOPT_URL, $url );
$response=curl_exec($curl);
curl_close($curl);
$image_xml = new SimpleXMLElement($response);
**foreach($xml->ThumbnailImageUrl as $thumbs){
echo "<img src=".$thumbs."/>";**
}
?>
SimpleXml
可以使用SimpleXml\u load\u文件
加载远程URL,并且所有libxml基本扩展名都可以与自定义文件一起使用。只需使用创建自定义上下文,然后将其设置为。看
要生成URL编码的字符串,请使用
关于使用SimpleXml,请参阅。您基本上只需遍历节点并回显它,例如
echo $sxe->someNode->someOtherNode->ThumbnailImageUrl;
SimpleXml
可以使用SimpleXml\u load\u文件加载远程URL
,并且所有libxml基扩展都可以与自定义URL一起使用。只需使用创建自定义上下文,然后将其设置为。看
要生成URL编码的字符串,请使用
关于使用SimpleXml,请参阅。您基本上只需遍历节点并回显它,例如
echo $sxe->someNode->someOtherNode->ThumbnailImageUrl;
首先,
&
是&
的XML转义。为了输出有效的XML,需要进行转义,但在向cURL提供URL时则不需要。(您实际上发送的是参数amp;password
,而不是password
)@jmort253、@jakenoble、@jensgram——谢谢您的帮助。现在可以了。一个问题是,如何只提取要在网页上显示的缩略图是&
的XML转义。为了输出有效的XML,需要进行转义,但在向cURL提供URL时则不需要。(您实际上发送的是参数amp;password
,而不是password
)@jmort253、@jakenoble、@jensgram——谢谢您的帮助。现在可以了。一个问题是如何只提取网页上显示的缩略图?@Josephine看一看示例4。非唯一元素可以像数组一样预先访问或访问,例如$sxe->ununiquelement[n]。另外,请检查@Josephine,根节点将被忽略。尝试foreach($sxe->ThumbnailImageUrl作为$thumbnails){
。请注意,该名称只有一个元素,因此您也可以只执行echo$sxe->ThumbnailImageUrl
@Josephine是的,假设旋转木马以字符串列表作为输入,只需使用PHP编写旋转木马配置。当在客户端计算JS时,它将自动拾取。@Josephine无法告诉wit如果在sourceview中看不到任何code.XML,听起来您是在将XML传递给JavaScript,而不仅仅是图像字符串。最好在另一个问题中解决这个特定问题。这样您可能会得到更多答案。只需确保显示用于编写配置的代码。@Josephine如果需要,您可以使用curll这更简单,但在使用流上下文时,您不必这样做。不过,您完全可以选择使用哪一个。我建议将javascript部分变成一个后续问题。@Josephine看一看示例4。非唯一元素可以像数组一样预取或访问,例如$sxe->ununiqueElement[n]。请同时签出@Josephine,根节点将被忽略。请尝试使用foreach($sxe->ThumbnailImageUrl作为$thumbnails){
。请注意,该名称只有一个元素,因此您也可以只执行echo$sxe->ThumbnailImageUrl
@Josephine是的,假设旋转木马以字符串列表作为输入,只需使用PHP编写旋转木马配置。当在客户端计算JS时,它将自动拾取。@Josephine无法告诉wit如果在sourceview中看不到任何code.XML,听起来您是在将XML传递给JavaScript,而不仅仅是图像字符串。最好在另一个问题中解决这个特定问题。这样您可能会得到更多答案。只需确保显示用于编写配置的代码。@Josephine如果需要,您可以使用curll这比较容易,但是当你使用流上下文时,你不必这样做。但是,你使用哪一个完全取决于你。我建议把javascript部分变成一个后续问题。