2013-03-19 3 views
0

Я хочу удалить весь узел наклейки, вызвав идентификатор 100. Но ничего не происходит. Любая идея?removeChild by element with PHP

$xml = new DOMDocument(); 
$xml->load('../write.xml'); 

    $result = $xpath->query('/stickers/sticker[id="100"]'); 
    $result->childNodes->item(0)->parentNode->removeChild($result->childNodes->item(0)); 

$xml->save('../write.xml'); 


     <stickers> 
      <sticker> /* Remove */ 
      <text>Thaishi1</text> 
      <id>100</id> 
      </sticker> 
      <sticker> 
      </position> 
      <text>Thaishi2</text> 
      <id>200</id> 
      </sticker> 
     </stickers> 

ответ

1

Если «ничего не происходит», настроить error_reporting на разумный уровень отладки - вы должны получать предупреждения, что нет ->childNodes собственности.

$result->item(0)->parentNode->removeChild($result->item(0)); 

Это должно сработать.

+0

Это работало как шарм, я сделал то, что вы сказал, и изменил error_reporting, помните, что я фактически переключил его раньше. Еще раз спасибо. – Dymond