Php 解析和显示xml中的数据

Php 解析和显示xml中的数据,php,mysql,xml,xslt,xml-parsing,Php,Mysql,Xml,Xslt,Xml Parsing,您好,我有一个在线商家提供的xml目录,我的问题是:如何使用php正确显示此文件的结果,我尝试过获得一些结果,但我不知道如何正确显示图像或特定图像(默认,中小型…)和url。谢谢,我对php一无所知 <?xml version="1.0" encoding="UTF-8"?> <catalog id="[Identifiant du programme]"> <products> <product> <product_id>

您好,我有一个在线商家提供的xml目录,我的问题是:如何使用php正确显示此文件的结果,我尝试过获得一些结果,但我不知道如何正确显示图像或特定图像(默认,中小型…)和url。谢谢,我对php一无所知

<?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>

[“欧洲产品编号”du produit]
[马钱德参考产品]
[制造商参考产品]
[普罗杜特品牌]
[产品名称]
[产品说明]
[产品说明]
[Lien de redirection trackéPublic Idées du produit]
[产品综合信息]
[留置符形象]
[产品小尾巴图片]
[Lien vers l'image de taille moyenne du produit]
[产品大包装图片]
[产品大奖赛]
[生产税协会名称]
[Montant de la taxe Associe au produit]
[Texte associéaux frais de port du produit]
[生产港框架山]
[马钱德生产协会猫]
[马钱德生产协会猫哥身份证]

PHP为您提供了两个最推荐的库来实现这一点()。一个是,另一个是。两者都在XML上操作,这里只有两个示例,每个示例一个。有关更多详细信息,请参阅在线文档:

$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]
DOMDocument的第二个示例:

你选择哪个图书馆取决于你自己。我建议你两者都试一下。DOMDocument遵循易于使用的标准,而SimpleXMLElement则不遵循这些标准,并试图减少冗长的内容,但您需要了解更多信息才能充分利用它


如果您的问题与XML无关,而只与如何链接/显示图像有关,那么您需要指定什么限定了图像以及如何在您提供的数据中显示图像。到目前为止,我只看到方括号中的法语描述;)

工作示例:您的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 />');         
            }

       }
$xml='1!'
[“欧洲产品编号”du produit]
[马钱德参考产品]
[制造商参考产品]
[普罗杜特品牌]
[产品名称]
[产品说明]
[产品说明]
[Lien de redirection trackéPublic Idées du produit]
[产品综合信息]
[留置符]图像
[Lien vers l'产品小尾巴图像]
[Lien vers l'产品制造商的形象]
[Lien vers l'产品大尾巴图片]
[产品大奖赛]
[生产税协会名称]
[Montant de la taxe Associe au produit]
[Texte associéaux frais de port du produit]
[生产港框架山]
[马钱德生产协会猫]
[马钱德生产协会猫哥身份证]
';
$dom=simplexml\u load\u字符串($xml);
$producs=$dom->products->product;
foreach($producs as$product){
echo('ean:'(字符串)$product->product\u id->ean);
回声(“
”); $images=$product->product\u images->image; foreach($img形式的图像){ echo('type:'(string)$img['type'].'value:'(string)$img); 回声(“
”); } }
查找SimpleXML-
$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 />');         
            }

       }