PHP从包含字符串的XML中删除节点

时间:2018-08-08 07:47:14

标签: php xml

我有一个带有URL节点的XMl文件。 我需要找到包含“服务器”一词的网址节点,并将其从文件中删除。

<?php    
    $document = new DOMDocument();
    $document->load("../xml/cars689737484897767756.xml"); 
    $xpath = new DOMXpath($document); 
    foreach ($xpath->query('.//images[contains(., "Server")]') as $dataNode) {
      $dataNode->parentNode->removeChild($dataNode);
    }
     $document->saveXML();
?>

它不保存删除的节点。

1 个答案:

答案 0 :(得分:0)

$document->saveXML();返回结果字符串。您需要以所需的方式处理结果。一种方法可能是file_put_contents()

file_put_contents('/path/to/file.xml', $document->saveXML());

或者您也可以像这样使用DOMDocument::save()

$document->save('/path/to/file.xml');

但是前者提供了更多控制权,因为可以选择要转储的节点。