Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 与XML相关的API?_Php_Xml_Api_Pinnacle Cart - Fatal编程技术网

Php 与XML相关的API?

Php 与XML相关的API?,php,xml,api,pinnacle-cart,Php,Xml,Api,Pinnacle Cart,做得对吗?我仍然对api的工作原理感到困惑。我是新手。我在谷歌上到处寻找答案。我遵循教程并试图修改它。这是最基本的 我想检索产品的图像,这是在销售(模式=热)幻灯片。如果您能帮助我了解api shld的工作方式,我将不胜感激 编辑 我正在尝试从pinnacle购物车的数据库中提取图像。所以我想列出它在xml中的内容您在下面看到的所有xml都在源代码视图上,但不在网页本身上,这正常吗?另外,当我试图在网页上显示图像时,图像不会出现。我不确定哪里出了错。 <Product>

做得对吗?我仍然对api的工作原理感到困惑。我是新手。我在谷歌上到处寻找答案。我遵循教程并试图修改它。这是最基本的

我想检索产品的图像,这是在销售(模式=热)幻灯片。如果您能帮助我了解api shld的工作方式,我将不胜感激

编辑 我正在尝试从pinnacle购物车的数据库中提取图像。所以我想列出它在xml中的内容您在下面看到的所有xml都在源代码视图上,但不在网页本身上,这正常吗?另外,当我试图在网页上显示图像时,图像不会出现。我不确定哪里出了错。

     <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&amp;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>&nbsp;</p><p>&nbsp;</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."&amp;password=".$password."&amp;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部分变成一个后续问题。