簡體   English   中英

PHP domDocument按屬性值刪除元素

[英]PHP domDocument remove element by attribute value

我想刪除由某個變量聲明的屬性值的元素。 我有這樣的xml:

<configuration name="acl.conf" description="Network Lists">
  <network-lists><!-- IMS ALLOW ONLY -->
    <list name="test" default="deny">
      <node type="allow" cidr="11.11.11.101/32"/>
   </list>
   <list name="customer" default="deny" type="allow">
      <node type="allow" cidr="10.13.13.193/32"/>
      <node type="allow" cidr="10.13.13.194/32"/>
      <node type="allow" cidr="10.13.13.3/32"/>
      <node type="allow" cidr="10.13.13.2/32"/>
   </list>
  </network-lists>
</configuration>

誰能幫我的PHP代碼? 我嘗試了類似的方法,但是沒有用。

    <?php
$doc = new DOMDocument; 
$id = $_GET['id'];
$doc->load('acl.conf.xml');

$searchNode = $doc->getElementsByTagName( "node" );

foreach( $searchNode as $searchNode )
{
    $valueID = $searchNode->getAttribute('cidr');

    } 
?>

假設$_GET['id']是您要刪除的cidr值,我將使用XPath

$xpath = new DOMXPath($doc);
$nodes = $xpath->query('//node[@cidr="' . $id . '"]')
foreach ($nodes as $node) {
    $node->parentNode->removeChild($node);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM