xml在php中删除子节点
我试图通过'id'属性删除“druzenje”元素。我知道要实现这一点,我必须删除该元素中的所有子节点xml在php中删除子节点,php,xml,Php,Xml,我试图通过'id'属性删除“druzenje”元素。我知道要实现这一点,我必须删除该元素中的所有子节点 <?xml version="1.0" encoding="utf-8"?> <druzenja> <druzenje id="1"> <podaci attribute="some-data"/> </druzenje> <druzenje id="3"> <
<?xml version="1.0" encoding="utf-8"?>
<druzenja>
<druzenje id="1">
<podaci attribute="some-data"/>
</druzenje>
<druzenje id="3">
<podaci attribute="some-data"/>
</druzenje>
</druzenja>
我认为通过“id”属性删除节点可能是一个糟糕的设计,但我基于此编写了很多代码,到目前为止,还没有出现任何问题。我还有一个代码,它删除了“podaci”元素,该元素以类似的方式工作,它这样做没有问题,但在这里它失败了。代码不会删除“podaci”和“druzenje”元素,即使removeChild()返回domeElement对象,这意味着它成功了,但它没有成功
有什么想法吗?有人杀了我。我没有存钱。我为浪费某人的宝贵时间而道歉。有人杀了我。我没有存钱。我为浪费某人的宝贵时间而道歉。有人杀了我。我没有存钱。我为浪费某人的宝贵时间而道歉。有人杀了我。我没有存钱。我为浪费某人的宝贵时间而道歉。getElementsByTagName()返回从DOM中删除元素的“实时”结果。将其复制到数组以获得固定列表
$element = $this->dom->getElementById($id);
$element->parentNode->removeChild($element);
$druzenja = iterator_to_array(
$this->dom->getElementsByTagName('druzenje')
);
foreach ($druzenja as $node) {
if ($node->getAttribute('id') == $id) {
$node->parentNode->removeChild($node);
}
}
Xpath将允许您使用更复杂的条件。结果不是活的
$xpath = new DOMXpath($this->dom);
foreach ($xpath->evaluate('//druzenje[@id="'.$id.'"]') as $node) {
$node->parentNode->removeChild($node);
}
getElementsByTagName()返回从DOM中删除元素的“实时”结果。将其复制到数组以获得固定列表
$druzenja = iterator_to_array(
$this->dom->getElementsByTagName('druzenje')
);
foreach ($druzenja as $node) {
if ($node->getAttribute('id') == $id) {
$node->parentNode->removeChild($node);
}
}
Xpath将允许您使用更复杂的条件。结果不是活的
$xpath = new DOMXpath($this->dom);
foreach ($xpath->evaluate('//druzenje[@id="'.$id.'"]') as $node) {
$node->parentNode->removeChild($node);
}
getElementsByTagName()返回从DOM中删除元素的“实时”结果。将其复制到数组以获得固定列表
$druzenja = iterator_to_array(
$this->dom->getElementsByTagName('druzenje')
);
foreach ($druzenja as $node) {
if ($node->getAttribute('id') == $id) {
$node->parentNode->removeChild($node);
}
}
Xpath将允许您使用更复杂的条件。结果不是活的
$xpath = new DOMXpath($this->dom);
foreach ($xpath->evaluate('//druzenje[@id="'.$id.'"]') as $node) {
$node->parentNode->removeChild($node);
}
getElementsByTagName()返回从DOM中删除元素的“实时”结果。将其复制到数组以获得固定列表
$druzenja = iterator_to_array(
$this->dom->getElementsByTagName('druzenje')
);
foreach ($druzenja as $node) {
if ($node->getAttribute('id') == $id) {
$node->parentNode->removeChild($node);
}
}
Xpath将允许您使用更复杂的条件。结果不是活的
$xpath = new DOMXpath($this->dom);
foreach ($xpath->evaluate('//druzenje[@id="'.$id.'"]') as $node) {
$node->parentNode->removeChild($node);
}
“id”属性不是xsl:id属性,它只是一个名为“id”的属性,所以$element为NULL。“id”属性不是xsl:id属性,它只是一个名为“id”的属性,所以$element为NULL。“id”属性不是xsl:id属性,它只是一个名为“id”的属性,所以$element为NULL。“id”属性不是xsl:id属性,它只是一个名为“id”的属性,所以$element为NULL。