【问题标题】:show xml values with specific attribute显示具有特定属性的 xml 值
【发布时间】:2014-01-28 22:19:45
【问题描述】:

我有那个 php 解析器,它工作得很好,但我只得到了第一张图片:

<?php
header("Content-Type: text/html;charset=UTF-8");
$xml = simplexml_load_file("xmlf.xml") 
or die("Error: Cannot create object");
foreach($xml->children() as $cars){

$code = "$cars->code";
$category = "$cars->category_id";
$brand = "$cars->brand";
$name = "$cars->product_name";
$img1 = $cars->image;

echo $code;
echo "^";
echo $name;
echo "^";
echo $descc;
echo "^";
echo $category;
echo "^";
echo $weight;
echo "^";
echo $brand;
echo "^";
echo $img1;
echo "\n";

} ?>

这里是我需要解析的xml文件示例:

    <?xml version="1.0" encoding="UTF-8"?>
<xml> 
 <good> 
<code>CODE1</code>
<product_name>NAME</product_name>
<brand></brand>
<category_id>725</category_id> 
<category>CAT</category>
<price>1.42</price>
<quantity>2</quantity>
<image count="1">http://imagelink.jpg</image> 
<image count="2">http://imagelink.jpg</image> 
<image count="3">http://imagelink.jpg</image> 
<image count="4">http://imagelink.jpg</image> 
<image count="5">http://imagelink.jpg</image> 
</good>

 <good> 
<code>CODE2</code>
<product_name>NAME</product_name>
<brand></brand>
<category_id>725</category_id> 
<category>CAT</category>
<price>1.42</price>
<quantity>2</quantity>
<image count="1">http://imagelink.jpg</image> 
<image count="2">http://imagelink.jpg</image> 
</good>

</xml>

请帮助我,我需要改变什么来解析这个 xml 中的所有图像?我花了大约六个小时找到了解决方案,但仍然没有运气。

【问题讨论】:

  • 这是什么?语法错误第 11 行。$img1 = $cars-&gt;image'); 应该是 $img1 = $cars-&gt;image;
  • Ups,在应对时我遇到了一些错误,但实际上它并不能解决我需要的问题

标签: php xml xml-parsing simplexml


【解决方案1】:

如果有多个&lt;image&gt;:

foreach ($xml->good as $car) {

    echo $car->code . PHP_EOL;
    echo $car->category . "($car->category_id)" . PHP_EOL;
    echo $car->brand . PHP_EOL;

    foreach ($car->image as $image)
        echo "image No." . $image['count'] . ": " . $image . PHP_EOL;

}

看到它的工作:https://eval.in/95876

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-05-16
  • 1970-01-01
  • 2012-01-16
  • 2016-02-13
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
相关资源
最近更新 更多