【问题标题】:xml echo child node loopxml echo子节点循环
【发布时间】:2013-06-06 16:30:56
【问题描述】:

我有一个带有同名子节点的 xml 文件,如下所示:

    <element id="13" size="normal" category="blog" url="Formlabs-3D-printer">
        <date>April 12, 2013</date>
        <tag tag="printer printing 3d formlab kickstarter"></tag>
        <urlpage url="single.php?blog_no=12"></urlpage>
        <urlimage src='./Post thumbnail images/aisa_big.png'></urlimage>
        <sliderimages> 
            <image src='./Post thumbnail images/aisa_big.png'></image>
            <image src='./Post thumbnail images/01.png'></image>
            <image src='./Post thumbnail images/tape-dribbble.jpg'></image>
            <image src='./Post thumbnail images/pissed_pickle.png'></image>
        </sliderimages>
    </element>

要读取我的 xml 文件,我实际上是这样做的:

<?php
    if (isset($_GET["page"])) { 

    $i = $_GET["page"];

    $xml = simplexml_load_file('data.xml');

    $element = $xml->xpath(" //element[@url='$i'] ")[0];
    } 
?> 

使用此代码,我回显了所需的&lt;element&gt; 的一些节点。效果很好!

我想回显&lt;sliderimages&gt; 中的每个图像节点。 但是我有一些问题要在里面循环......

这是我的循环代码(EDIT):

<?php
foreach($element->sliderimages as $sliderimages) {
    echo "<div class='Slide'><img src='";
    echo $sliderimages->image['src'];
    echo "'/></div>";
}
?>

使用此代码,它只回显第一个子节点 ....

对不起我的英语,我是法国人。

【问题讨论】:

    标签: php xml loops echo


    【解决方案1】:

    您正在循环遍历&lt;sliderimages&gt;,而您的输入 XML 中只有一个。

    尝试(未测试):

    foreach($element->sliderimages->image  as $image) {
     ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 1970-01-01
      • 2011-09-11
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多