Php xml DOM:删除带有条件的元素

Php xml DOM:删除带有条件的元素,php,xml,Php,Xml,在许多问题中,这个问题可能已经以某种方式或另一种方式得到了回答,但由于我是XML方面的新手,我无法在我的项目中找到答案 我有一个RSS(XML)文件,其结构如下: <rss> <channel> <item> <title>some title</title> <description> some descrp </descri

在许多问题中,这个问题可能已经以某种方式或另一种方式得到了回答,但由于我是XML方面的新手,我无法在我的项目中找到答案

我有一个RSS(XML)文件,其结构如下:

<rss>
    <channel>
          <item>
                <title>some title</title>
                <description> some descrp </description>
                ...
          </item>
     </channel>
</rss>

一些头衔
一些描述
...
在PHP中,当标题等于某个值时,如何删除某个项目?谢谢


EDIT1:我的XML文件存储在我的web服务器上。

谢谢你的帮助,但我想导入我的XML文件,它比我写的要大,只是为了显示它的结构。我尝试了$doc->loadXML(“new2.xml”);但它似乎不起作用?@hafedh:您必须使用
$doc->load(“new2.xml”)
@Saxoier:非常感谢,它可以工作,但由于它没有保存在文件中,新的“数据”显示在我的php页面上,但xml文件仍然包含所有项?
$rss = "
<rss>
    <channel>
          <item>
                <title>some title</title>
                <description> some descrp </description>
          </item>
          <item>
                <title>some other title</title>
                <description> some descrp </description>
          </item>
     </channel>
</rss>
";
$doc = new DOMDocument();
$doc->loadXML($rss);
$xpath = new DOMXPath($doc);
$els = $xpath->query('//title[text()="some title"]');
foreach($els as $el)
{
    $parent = $el->parentNode;
    $parent->parentNode->removeChild($parent);
}
echo $doc->saveXML();
$doc = new DOMDocument();
$doc->loadXML($rss);
$els = $doc->getElementsByTagName('title');
for($i = $els->length-1; $i >= 0; $i--)
{
    $el = $els->item($i);
    if ($el->nodeValue == 'some title')
    {
        $parent = $el->parentNode;
        $parent->parentNode->removeChild($parent);
    }
}
echo $doc->saveXML();