开发者

PHP, DOM - remove first several nodes

The xml file looks like this:

<newVotes>
    <image details="14.10.11" path="/test/content/pictures3/" image_name="PIC_524700002.jpg" id="1"/>
    <image details="14.10.11" path="/test/content/pictures3/" image_name="PIC_5317gg.jpg" id="2"/>
    <image details="开发者_如何学运维14.10.11" path="/test/content/pictures3/" image_name="PIC_5393.jpg" id="3"/>
    <image details="14.10.11" path="/test/content/pictures3/" image_name="PIC_2299.jpg" id="4"/>    
    <image details="14.10.11" path="/test/content/pictures3/" image_name="PIC_4977.jpg" id="5"/>
    <image details="14.10.11" path="/test/content/pictures3/" image_name="PIC_4977BW.jpg" id="6"/>
    <image details="14.10.11" path="/test/content/pictures3/" image_name="PIC_4914.jpg" id="7"/>
    <image details="14.10.11" path="/test/content/pictures3/" image_name="flowergirl.jpg" id="8"/>
    <image details="14.10.11" path="/test/content/pictures3/" image_name="PIC_5393.jpg" id="9"/>
    <image details="14.10.11" path="/test/content/pictures3/" image_name="PIC_2299.jpg" id="10"/>
</newVotes>

I don't know how many "image" nodes will contain my xml, and how many of them goes to remove (it's dynamic amount variable comes from flash module) My question is how to delete for example first 5 "image" nodes in xml, using PHP?

Especialy added "id" nodes because I thought I can delete them using Xpath somehow, but with no lucky...

Thanks for any help. Artur.


Done... It was pretty simple:

$filesLimit = $_POST['_limit'];
$rateElement = $news_dom->getElementsByTagName('image');
$numberOfFiles = $rateElement->length;
$m = $numberOfFiles - $filesLimit + 1;
if($numberOfFiles>=$filesLimit){         
    for ($i = 0; $i < $m; $i++) {
        $nodesToRemove = $rateElement->item(0)->parentNode->removeChild($rateElement->item(0));   
    } 
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜