php,xml从具有不同属性的标签输出整个值

时间:2016-07-18 18:49:05

标签: php xml xpath

我正在尝试创建一个从xml文件输出整个图像的应用程序。图像存储在具有不同属性的不同img标签中。等等。这是xml页面..

<issue>
    <coverImage id="13088328">
    0mjg7sd8q8tjk63z93p7</coverImage>
<cover>
</cover>
<page template="rowpicrowpic">
    <img id="13088334">
    wqqkrnt74l18p9nxnyf2</img>
<img id="13088364">
    fjm6cjtpxvc2t2wjcbc6</img>
</page>
<page template="pics4">
    <img id="13088373">
    nc753vx8bkt7195nz8zs</img>
<img id="13088379">
    rz7c5tkzm8mcxcfnbrch</img>
<img id="13088379">
    rz7c5tkzm8mcxcfnbrch</img>
<img id="13088373">
    nc753vx8bkt7195nz8zs</img>
</page>
<page template="rowpicrow2text">
    <txt>
</txt>
<txt>
</txt>
<img id="13098696">
    h8b6cpjmyjp344rsyzwq</img>
</page>
<page template="rowpictextrowpic">
    <txt>
        test
</txt>
<img id="13088373">
    nc753vx8bkt7195nz8zs</img>
<img id="13088334">
    wqqkrnt74l18p9nxnyf2</img>
</page>
<page template="rowtextrowpic">
    <txt>
    <![CDATA[]]>
</txt>
<img id="13085748">
    zhs2q9z92jk98yjgnhrc</img>
</page>
<page template="rowpictextrowpic">
    <txt>
    <![CDATA[]]>
</txt>
<img id="13088379">
    rz7c5tkzm8mcxcfnbrch</img>
<img id="13085727">
    nbshpr8z9mlzth9n0lt1</img>
</page>
<page template="double">
    <img id="13085697">
    vw5dnsjqs6sxvbz9z22n</img>
</page>
<page template="empty">
</page>
<page template="double">
    <img id="13098702">
    kx1hyh88jy4xdb6mqbvd</img>
</page>
<page template="empty">
</page>
<page template="onepage">
    <img id="13088400">
    159zngkbftmztzcgr013</img>
</page>
</issue>

我想要做的就是拥有所有的img值 0mjg7sd8q8tjk63z93p7, wqqkrnt74l18p9nxnyf2, fjm6cjtpxvc2t2wjcbc6, nc753vx8bkt7195nz8zs, rz7c5tkzm8mcxcfnbrch, 和nc753vx8bkt7195nz8zs 要输出到页面上..我试图这样做,但我试图以不同的方式做,而不是手动写入图像的路径。

echo "Image1: <img src='http://image-link.com/".$xmlfile->page[0]->img[1].".jpg'/>";

1 个答案:

答案 0 :(得分:0)

使用simplexml对象和xpath获取xml中所有图像的列表

$xml = simplexml_load_string($str);
foreach($xml->xpath('//img|coverImage') as $img) 
    echo trim($img) ."\n";

<强> demo