-2

可能重复:
一个简单的程序来 CRUD 节点和 xml 文件的节点值

我想用 php.xml 更改 xml 文件中的一些数据。

所以在我的 xml 文件中我有这个:

 <items><item href="p002.xhtml" id="p002" media-type="application/xhtml+xml"/>
 <item href="img/b002.jpg" id="b002" media-type="image/jpeg"/>
 <item href="p003.xhtml" id="p003" media-type="application/xhtml+xml"/>
 <item href="img/b003.jpg" id="b003" media-type="image/jpeg"/>
 <item href="p004.xhtml" id="p004" media-type="application/xhtml+xml"/>
 <item href="img/b004.jpg" id="b004" media-type="image/jpeg"/>
 <item href="p005.xhtml" id="p005" media-type="application/xhtml+xml"/>
 <item href="img/b005.jpg" id="b005" media-type="image/jpeg"/></items>

我想打开文件,删除所有大于 0003 的项目并保存更改。我在这段摘录之间有一些标签。

结果:

 <items><item href="p002.xhtml" id="p002" media-type="application/xhtml+xml"/>
 <item href="img/b002.jpg" id="b002" media-type="image/jpeg"/>
 <item href="p003.xhtml" id="p003" media-type="application/xhtml+xml"/>
 <item href="img/b003.jpg" id="b003" media-type="image/jpeg"/></items>

试 :

if( ! $xml = simplexml_load_file("pack.xml") ) { 
    echo 'unable to load XML file'; 
} 
else { 
echo "<ul>";
    foreach($xml->items->item as $v ){
        //echo "<li>".$v[href]."</li>";
        if($v[href]=="p003.xhtml" || $v[href]=="img/bg003.jpg"){
            echo "<li>".$v[href]."</li>";
        }

    }
echo "</ul>";
} 

如何检查大于 p003.xhtml 和 img/bg003.jpg ?

4

1 回答 1

1

您将要使用simplexml. 这将生成一组不错的 DOM 类供您使用。从这些类中,您可以使用您的条件搜索元素并在将 xml 树保存回文本之前将其删除

于 2012-06-21T11:36:46.800 回答