为了账号安全,请及时绑定邮箱和手机立即绑定

使用'simplexml'php循环遍历xml文件图像

使用'simplexml'php循环遍历xml文件图像

PHP
四季花海 2022-12-23 13:57:38
在谷歌上搜索了几个小时,没有任何乐趣。我使用简单的 xml 并对我的 xml 文件进行各种查询。我可以很好地显示图像( 1 张图像)。我无法让 foreach 循环显示所有图像。好吧,我可以,但我使用了 [i++],它显示了所有图像,但不会停止循环!下面显示 2 张图像。首先是显示 1 个图像的基本显示和我的理解。第二张图片是我希望所有循环发生的地方。$reference  = $_POST['varname'];$xml =  simplexml_load_file('save.xml') or die("can not find file");$result = $xml->xpath("//property[property_reference='$reference']");foreach ( $result as $elements){<img class="card-img-top" height='240px' width='340px' src=" <?php echo $elements->pictures->picture[0]->filename  ; ?> " alt="Card image cap"    > } ;  <br><?php foreach( $elements as $image) { ?><img class="card-img-top" height='240px' width='340px' src=" <?php echo $elements->pictures->picture[All of the images]->filename ; ?> " alt="Card image cap"> }?> 
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

看起来你需要在你的结构中更深入地循环,因为你有一个数组的数组。


解决方案 1:更深层次的循环


<?php


$reference  = $_POST['varname'];

$xml = simplexml_load_file('save.xml') or die("can not find file");

$result = $xml->xpath("//property[property_reference='$reference']");

foreach ($result as $elements) {

    foreach ($elements as $pictures) {

        foreach ($pictures as $picture) { ?>

            <img class="card-img-top" height='240px' width='340px' src="<?php echo $picture->filename?> " alt="Card image cap"> 

        <?php }

    }

}

解决方案 2:使用更深层次的 XPath:


<?php


$reference  = $_POST['varname'];

$xml = simplexml_load_file('save.xml') or die("can not find file");

$pictures = $xml->xpath("//property[property_reference='$reference']/pictures");

foreach ($pictures as $picture) { ?>

    <img class="card-img-top" height='240px' width='340px' src="<?php echo $picture->filename?> " alt="Card image cap">

<?php }


查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信