2013-04-15 55 views
0

你好,我有一個在線商家的xml這個目錄,我的問題是:我如何正確顯示這個文件的結果使用php,我試圖得到一些結果,但我不' t知道如何正確顯示圖像或特定圖像(默認,小或中等..)和網址。謝謝我是全新的PHP。分析和顯示來自xml的數據

<?xml version="1.0" encoding="UTF-8"?> 
<catalog id="[Identifiant du programme]"> 
<products> 
<product> 
<product_id> 
     <ean>["European Article Numbering" du produit]</ean> 
     <store>[Reference produit du marchand]</store> 
     <manufacturer>[Reference produit du fabricant]</manufacturer> 
    </product_id> 
    <trademark>[Marque du produit]</trademark> 
    <title>[Nom du produit]</title> 
    <desc>[Description du produit]</desc> 
    <full_desc>[Description élargie du produit]</full_desc> 
    <url>[Lien de redirection tracké Public-Idées du produit]</url> 
    <other>[Informations complémentaires sur le produit]</other> 
    <product_images> 
     <image type="default">[Lien vers l'image par défaut du produit]</image> 
     <image type="small">[Lien vers l'image de petite taille du produit]</image> 
     <image type="medium">[Lien vers l'image de taille moyenne du produit]</image> 
     <image type="large">[Lien vers l'image de grande taille du produit]</image> 
    </product_images> 
    <price currency="[Unité monétaire utilisée du prix du produit]">[Prix du produit]</price> 
    <tax> 
     <name>[Nom de la taxe associée au produit]</name> 
     <price currency="[Unité monétaire de la taxe du produit]">[Montant de la taxe associée au produit]</price> 
    </tax> 
    <shipping> 
     <delivery>[Texte associé aux frais de port du produit]</delivery> 
     <price currency="[Unité monétaire des frais de port]">[Montant des frais de port du produit]</price> 
    </shipping> 
    <category> 
     <merchant> 
     <name>[Catégorie du marchand associée au produit]</name> 
     <id>[Identifiant de la catégorie du marchand associée au produit]</id> 
     </merchant> 
    </category> 
    </product> 
</products> 

+0

查找的SimpleXML - HTTP:// PHP。淨/手動/ FR/book.simplexml.php –

回答

1

PHP提供兩種最值得推薦的圖書館這樣做(there are more, both built-in as well as external ones)。一個是SimpleXML,另一個是DOMDocument。兩者都運行在XML上,這裏只是兩個例子,每個例子。與DOM文檔

$images = $simpleXMLElement->xpath('//image'); 

printf("Found %d image(s):\n", count($images)); 
foreach($images as $i => $image) { 
    printf(" * %d. %s\n", $i+1, $image); 
} 

/**** output: 

Found 4 image(s): 
* 1. [Lien vers l'image par défaut du produit] 
* 2. [Lien vers l'image de petite taille du produit] 
* 3. [Lien vers l'image de taille moyenne du produit] 
* 4. [Lien vers l'image de grande taille du produit] 

第二個例子::請諮詢在線文檔瞭解更多信息

$images = $domDocument->getElementsByTagName('image'); 

printf("Found %d image(s):\n", $images->length); 
foreach($images as $i => $image) { 
    printf(" * %d. %s\n", $i+1, $image->nodeValue); 
} 

/**** output: 

Found 4 image(s): 
* 1. [Lien vers l'image par défaut du produit] 
* 2. [Lien vers l'image de petite taille du produit] 
* 3. [Lien vers l'image de taille moyenne du produit] 
* 4. [Lien vers l'image de grande taille du produit] 

你選擇哪一個庫是由你。我建議你試試兩種。 DOMDocument遵循使其易於使用的標準,SimpleXMLElement不會盡量減少冗餘,但是您需要了解更多才能充分利用它。

如果您的問題與XML無關,而只是如何鏈接/顯示圖像,那麼您需要指定圖像的內容以及您提供的數據的方式。到目前爲止,我只看到法國人的描述在方括號;)

0

工作例如:你的XML是不完整:缺少目錄結束標記,所以我將其添加:

$xml = '<?xml version="1.0" encoding="UTF-8"?> 
     <catalog id="[Identifiant du programme]"> 
      <products> 
      <product> 
       <product_id> 
        <ean>["European Article Numbering" du produit]</ean> 
        <store>[Reference produit du marchand]</store> 
        <manufacturer>[Reference produit du fabricant]</manufacturer> 
       </product_id> 
       <trademark>[Marque du produit]</trademark> 
       <title>[Nom du produit]</title> 
       <desc>[Description du produit]</desc> 
       <full_desc>[Description élargie du produit]</full_desc> 
       <url>[Lien de redirection tracké Public-Idées du produit]</url> 
       <other>[Informations complémentaires sur le produit]</other> 
       <product_images> 
        <image type="default">[Lien vers l\'image par défaut du produit]</image> 
        <image type="small">[Lien vers l\'image de petite taille du produit]</image> 
        <image type="medium">[Lien vers l\'image de taille moyenne du produit]</image> 
        <image type="large">[Lien vers l\'image de grande taille du produit]</image> 
       </product_images> 
       <price currency="[Unité monétaire utilisée du prix du produit]">[Prix du produit]</price> 
       <tax> 
        <name>[Nom de la taxe associée au produit]</name> 
        <price currency="[Unité monétaire de la taxe du produit]">[Montant de la taxe associée au produit]</price> 
       </tax> 
       <shipping> 
        <delivery>[Texte associé aux frais de port du produit]</delivery> 
        <price currency="[Unité monétaire des frais de port]">[Montant des frais de port du produit]</price> 
       </shipping> 
       <category> 
        <merchant> 
        <name>[Catégorie du marchand associée au produit]</name> 
        <id>[Identifiant de la catégorie du marchand associée au produit]</id> 
        </merchant> 
       </category> 
       </product> 
      </products> 
     </catalog>'; 

     $dom = simplexml_load_string($xml); 

     $producs = $dom->products->product; 

     foreach($producs as $product){ 

      echo('ean:' . (string)$product->product_id->ean); 
      echo('<br />'); 
      $images = $product->product_images->image; 
      foreach($images as $img){ 
       echo('type:' . (string)$img['type'] . ' value:' . (string)$img); 
       echo('<br />');   
      } 

     }