我希望你能帮助我在这一个:
我想通过取消设置删除XML节点。 我有一个如何可以这样做两种变体,但只有一个正在工作。 请告诉我什么区别或者为什么只有第二个变体工作。
因此,使用第一种变体时的print_r()函数还给与应已被删除的图像“Hansio”整个XML文件。 但是,使用第二方案,当图像被删除!
(您可以将整个PHP代码实际上复制到一个文件,以及XML文件的文本 - 和测试它的时候了 - 不需要改变 - 除了评论一个变体了,当然)
PHP文件:
<?php
$galleries = new SimpleXMLElement('galleries.xml', NULL, TRUE);
/*Variant 1: NOT WORKING_____________________________________________________________*/
$image = $galleries->xpath("//galleries/gallery[@name='gallery']/image[@name='Hansio']");
unset($image[0]);
/*Variant 2: WORKING BUT NOT SO CONVENIENT___________________________________________*/
foreach($galleries->xpath("//galleries/gallery[@name='gallery']/image[@name='Hansio']") as $image)
{
unset($image[0]);
}
print_r($galleries);
?>
XML文件:
<?xml version="1.0" encoding="utf-8"?>
<galleries>
<gallery name="gallery">
<image name="image name 1"/>
<image name="image name 2"/>
<image name="Hansio"/>
<image name="image name 4"/>
</gallery>
</galleries>