【发布时间】:2014-03-01 11:05:26
【问题描述】:
我正在解析一个在线 xml 文件。 check online link Here.
上述 url Feed 的示例 xml 文件如下所示:
test1.xml
<products>
<item>
<id>1375</id>
<option name="Colour">
<value optionID="128" quantity="2">Navy|+|0.00</value>
<value optionID="128" quantity="1">Red|+|0.00</value>
</option>
</item>
<item>
<id>1375</id>
<option name="Sixer">
<value optionID="128" quantity="2">Medium|+|0.00</value>
<value optionID="128" quantity="1">Large|+|0.00</value>
</option>
</item>
</products>
我使用 simplexml_load_file
喜欢:
$xml = simplexml_load_file('test1.xml');
foreach($xml as $product)
{
echo $product->id;
}
我得到了 Id 作为输出。
但我的问题是如何在 foreach 循环中获取颜色和大小的值。
我目前正在使用
foreach ($product->xpath('//option[@name="Colour"]') as $item)
{
foreach ($item->children() as $child)
{
echo "color"."<br>";
}
}
foreach ($product->xpath('//option[@name="Size"]') as $item)
{
foreach ($item->children() as $child)
{
echo "Size"."<br>";
}
}
但它会找到所有产品的所有 option name="color" & option name="Size"。
我想查找特定产品的选项值,并将产品 ID 作为输出。
【问题讨论】:
标签: php xml xml-parsing