【问题标题】:Delete XML element in php using DOMDocument [duplicate]使用DOMDocument在php中删除XML元素[重复]
【发布时间】:2013-12-31 17:44:00
【问题描述】:

大家好,我有一个简单的 XML 文档:

<iPhone>
 <enAttente>
  <UDID>value</UDID>
  <adresse>value</adresse>
 </enAttente>
 <enAttente>
  <UDID>value</UDID>
  <adresse>value</adresse>
 </enAttente>
</iPhone>

我想删除 其中 = myValue 这就是我要做的:

$doc = new DOMDocument;   
$doc->load('./folder/myFile.xml');  
if ($doc)
{
    $domNodeList = $doc->getElementsByTagname('enAttente');

    for ($i = 0; $i < count($array); $i++)
    {
        foreach ($domNodeList as $domElement ) {
         $authors = $domElement->getElementsByTagName( "adresse" );
         $author = $authors->item(0)->nodeValue;

         if ($author == "myValue")
         {
             echo"Founded ! Delete this node ! -- ";
             // HOW CAN I DELETE this <enAttente> !!
         }
        }
    }

    $doc->saveXML();      
}

当我找到要删除的元素时,有人能告诉我如何删除吗? 非常感谢 !

【问题讨论】:

  • 不,因为我看过这篇文章,但我无法做到!谢谢
  • 你能显示你使用的“不起作用”的确切代码吗?
  • 嗯,我已经尝试了很多东西,比如:$domElement->removeChild($authors->item(0)); $author->parentNode->removeChild($author); $domElement->parentNode->removeChild($domElement);
  • 注意saveXML()不写入文件:php.net/manual/en/domdocument.savexml.php它只是返回一个字符串。

标签: php xml domdocument


【解决方案1】:

在我看来你需要

$domElement->parentNode->removeChild($domElement);

【讨论】:

  • 天哪,非常感谢弗洛里斯!!!!!!!!!!
  • 您在评论中提到这是您尝试过的事情之一……但我很高兴它现在正在工作。
【解决方案2】:

好的,这是一些工作代码:

<?php
$file = './folder/myFile.xml';
$doc = new DOMDocument;   
$doc->load($file);  
if ($doc)
{
    $domNodeList = $doc->getElementsByTagname('enAttente');

    foreach ($domNodeList as $domElement ) {
        $authors = $domElement->getElementsByTagName('adresse');
        $firstNode = $authors->item(0);

        $author = $firstNode->nodeValue;
        if ($author == "myValue")
        {
            echo "Founded ! Delete this node ! -- ";
            $doc->documentElement->removeChild($domElement);
        }
    }

    $doc->save($file);      
}

【讨论】:

  • 也许您想将两个答案合二为一?...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多