2011-08-25 73 views
0

删除儿童希望我能得到一些帮助,这一点,PHP是不是我的强项,还在学习的绳索...DOM从RSS XML

所以我有一个创建一个RSS文件,一个PHP的形式,将RSS饲料将由服务台工作人员在内部局域网上使用,以及时了解网络中出现的当前问题。

该表单旨在用作管理Feed的前端,我需要做的最后一件事就是能够从Feed中删除特定的项目。

我想删除具有特定GUID的项目,当表单创建项目GUID是简单地给一个值使用time(),我被困在我甚至找到我想要删除的项目,我想我需要搜索的项目匹配的GUID元素,然后删除它出现在孩子......有人可以给我一些有用的指针?

<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"> 
    <channel> 
    <item> 
     <title>Exchange Server being rebooted</title> 
     <description>Exchange servers are currently being rebooted</description> 
     <author>Self</author> 
     <link></link> 
     <pubDate>Fri, 26 Aug 2011 08:37:12</pubDate> 
     <guid>1314311832</guid> 
    </item> 
    </channel> 
</rss> 

当我从显示在表格中的RSS我会放一个链接与GUID的项目,当点击应该删除该项目。

希望这是有道理的。

感谢,

回答

0

您可以使用DOMXPath检索GUID元素和removeChild之()将其删除:

$xpath = new DOMXPath($yourDOMDocument); 
$query = '//rss/channel/item/guid[boolean(.="1314311832")]'; 
$entries = $xpath->query($query); 

foreach ($entries as $entry) { 
    $entry->parentNode->parentNode->removeChild($entry->parentNode); 
} 
+0

太感谢你了,非常完美! – Martin

+0

不客气! –