PHP domDocument按属性值删除元素
我想删除由某个变量声明的属性值的元素。我有这样一个xml:PHP domDocument按属性值删除元素,php,xml,domdocument,Php,Xml,Domdocument,我想删除由某个变量声明的属性值的元素。我有这样一个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"/>
<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');
}
?>
假设
$\u GET['id']
是要删除的cidr
值,我会使用XPath
$xpath = new DOMXPath($doc);
$nodes = $xpath->query('//node[@cidr="' . $id . '"]')
foreach ($nodes as $node) {
$node->parentNode->removeChild($node);
}
假设
$\u GET['id']
是要删除的cidr
值,我将使用XPath
$xpath = new DOMXPath($doc);
$nodes = $xpath->query('//node[@cidr="' . $id . '"]')
foreach ($nodes as $node) {
$node->parentNode->removeChild($node);
}
你能分享你的预期成果吗?@SahilGulati,例如,我想删除。因此,输出将是“您能否共享您的预期输出?”例如,SahilGulati,我想删除。所以输出将被解决,我用你的aswer和它的工作!非常感谢你,我用了你的答案,它成功了!多谢各位