我发布了一个关于如何计算属性值的问题。即使我认为我无法删除具有此属性的元素。我尝试搜索,但仍然找不到合适的工作答案。我真的希望你能帮助我。这是我的代码。我通过xml文档查找属性值,然后尝试删除具有此属性值的节点的父节点。
$xml = new SimpleXMLElement($xmlfile,0,true);
$results = $xml->xpath("/presets/preset");
foreach ($results as $result) {
foreach ($result->children() as $second_gen) {
if($second_gen->getName()=='name'){
foreach($second_gen->attributes() as $a => $b) {
if($b==$preset_name){
echo($b);
echo($preset_name);
unset($result);
}
}
}
}
}
$xml->asXML();
执行此代码后,我没有收到任何错误,我正确地回复了$b
和$preset_name
。但是节点没有被删除。它仍然存在于文档中。
我的xml文件如下:
<presets>
<preset>
<name code="default">Default</name>
<createdBy>p</createdBy>
<icons>q</icons>
</preset>
<preset>
<name code="new_preset">New Preset</name>
<createdBy>x</createdBy>
<icons>y</icons>
</preset>
...
</presets>
答案 0 :(得分:1)
我没有使用SimpleXMLElement类就找到了一个简单的答案。检查一下我的完整答案。 How can i get the value of attribute in of a xml node in php?