XML回显子节点循环


xml echo child node loop

我有一个具有相同名称的子节点的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];
    } 
?> 

用这段代码,我回显所需的<element>的某个节点。效果很好!

我想在<sliderimages>中回声每个图像节点。但是我有一些问题在里面循环…

下面是我的循环代码(EDIT):
<?php
foreach($element->sliderimages as $sliderimages) {
    echo "<div class='Slide'><img src='";
    echo $sliderimages->image['src'];
    echo "'/></div>";
}
?>

这段代码只回显第一个子节点....

对不起,我是法国人。

您正在循环<sliderimages>,并且在您的输入XML中只有一个。

Try (not testing):

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