使用 PHP 从具有相同名称的 XML 元素中获取值
我在从所有 3 个 IMAGE 元素获取值时遇到问题,因为它们具有相同的名称。下面是我的 xml feed,
<FOUND>
<IMAGES>
<IMAGE>
<SMALL>images/small.jpg</SMALL>
<MED>images/med.jpg</MED>
<LARGE>images/large.jpg</LARGE>
<EXTRAL>images/extra.jpg</EXTRAL>
</IMAGE>
<IMAGE>
<SMALL>images1/small.jpg</SMALL>
<MED>images1/med.jpg </MED>
<LARGE>images1/large.jpg</LARGE>
<EXTRAL>images1/extra.jpg</EXTRAL>
</IMAGE>
<IMAGE>
<SMALL>images2/small.jpg</SMALL>
<MED>images2/med.jpg </MED>
<LARGE>images2/large.jpg</LARGE>
<EXTRAL>images2/extra.jpg</EXTRAL>
</IMAGES>
</FOUND>
我在 php 中编写了一个函数,它将返回第一个块。
function images($id){
$xml=simplexml_load_file("feed.xml");
foreach ($xml->FOUND->IMAGES as $image)
{
$imagearr[]=array(
'small'=>$image->IMAGE->SMALL,
'med'=>$image->IMAGE->MEDIUM,
'large'=>$image->IMAGE->LARGE,
'xl'=>$image->IMAGE-> EXTRAL,
);
}
return $imagearr;
}
如何获取所有 3 个 IMAGE 元素?我需要在下面的 html 表中使用返回值
<table width="200" border="1">
<tr>
<td>small</td>
<td>medium</td>
<td>large</td>
</tr>
<tr>
<td>small</td>
<td>medium</td>
<td>large</td>
</tr>
<tr>
<td>small</td>
<td>medium</td>
<td>large</td>
</tr>
</table>
任何帮助将不胜感激
I have a problem in getting the values from all the 3 IMAGE elements coz they have the same name. Below is my xml feed
<FOUND>
<IMAGES>
<IMAGE>
<SMALL>images/small.jpg</SMALL>
<MED>images/med.jpg</MED>
<LARGE>images/large.jpg</LARGE>
<EXTRAL>images/extra.jpg</EXTRAL>
</IMAGE>
<IMAGE>
<SMALL>images1/small.jpg</SMALL>
<MED>images1/med.jpg </MED>
<LARGE>images1/large.jpg</LARGE>
<EXTRAL>images1/extra.jpg</EXTRAL>
</IMAGE>
<IMAGE>
<SMALL>images2/small.jpg</SMALL>
<MED>images2/med.jpg </MED>
<LARGE>images2/large.jpg</LARGE>
<EXTRAL>images2/extra.jpg</EXTRAL>
</IMAGES>
</FOUND>
I have written a function in php that will return the first block.
function images($id){
$xml=simplexml_load_file("feed.xml");
foreach ($xml->FOUND->IMAGES as $image)
{
$imagearr[]=array(
'small'=>$image->IMAGE->SMALL,
'med'=>$image->IMAGE->MEDIUM,
'large'=>$image->IMAGE->LARGE,
'xl'=>$image->IMAGE-> EXTRAL,
);
}
return $imagearr;
}
How do I get to grab all the 3 IMAGE elements? I need to use the returned value in to the below html table
<table width="200" border="1">
<tr>
<td>small</td>
<td>medium</td>
<td>large</td>
</tr>
<tr>
<td>small</td>
<td>medium</td>
<td>large</td>
</tr>
<tr>
<td>small</td>
<td>medium</td>
<td>large</td>
</tr>
</table>
Any help will be much appreciated
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我会使用 xPath 返回一个数组。
试试这个:
输出...
然后您将能够使用
希望之类的内容迭代结果,这会有所帮助
I would use xPath to return an array.
Try this:
Output ...
You'll then be able to iterate over the results with something like
Hope that helps
为了坚持原来的 php 代码,你可以尝试这样的事情:
to stick a bit more with you original php code, you could try something like this: