我一直在這裏尋找和谷歌,並找到各種代碼,但沒有一個工作。我假設這是因爲它們都不符合我的確切情況。我有一個這樣的xml結構:通過php刪除xml節點和所有孩子
<employees>
<employee EmpID="">
<first_name></first_name>
<last_name></last_name>
<ssnum></ssnum>
<status></status>
<contact_info>
<office_phone></office_phone>
<email></email>
<cell_phone></cell_phone>
</contact_info>
<access_info level="user">
<username></username>
<password></password>
</access_info>
<department></department>
<date_started></date_started>
<years></years>
<position></position>
<salary></salary>
<e_increase></e_increase>
<e_raise></e_raise>
<photo></photo>
</employee>
</employees>
我有我想要刪除的員工的EmpID存儲在名爲$ ID的變量中。我想徹底刪除該員工。我已經嘗試了諸如:
foreach ($doc->getElementsByTagName('employee') as $employee) {
if($employee->getAttribute('EmpID') === $ID) {
foreach ($employee as $node) {
$node->parentNode->removeChild($node);
}
}
}
和其他循環試圖讓同樣的事情,因爲在這些職位:PHP XML remove element and all children by name和Remove all children from a XML Node PHP DOM,但我一直沒能得到這個能夠成功。
任何幫助,將不勝感激,謝謝。
試過了,什麼都沒有發生...... – sharf 2013-04-22 17:52:05
@sharf:在這裏工作的很好。修改的XML應該在'$ dom-> saveXML();'中可用,而不是您的原始變量。 – 2013-04-22 17:53:12
我試着保存它,但更改沒有保存。我正在使用$ dom-> save();而不是saveXML。我試圖改變它,現在我得到這個錯誤:可捕獲致命錯誤:傳遞給DOMDocument :: saveXML()的參數1必須是DOMNode的實例,字符串給定 – sharf 2013-04-22 17:58:02