Olá pessoal, Boa Tarde. Estive pesquisando e só consegui remover elementos de um arquivo XML, com SimpleXML, importando para DOM e depois removendo o node. No código que fiz abaixo, $obj é um SimpleXML ($obj = SimpleXMLElement('arq.xml',NULL,true). public function removeChild($obj, $atrb){
$retorno = false;
foreach($obj as $valor){
if($valor["atributo"] == $atrb){
$dom=dom_import_simplexml($valor);
$dom->parentNode->removeChild($dom);
$retorno = true;
}
}
if($retorno) return $obj; else return false;
}
Não consegui remover o elemento sem usar o DOM. Por que quando uso unset, como mostro abaixo, ele remove a child do $obj apenas dentro do foreach e o $obj em si continua intacto.
foreach($obj as $valor){
if($valor["atributo"] == $atrb){
unset($valor);
$retorno = true;
}
} O primeiro codigo funciona normalmente e resolveu meu problema, mas.... não existem uma forma mais eficiente de apagar um child sem usar DOM? Bom é isso. Se houver algum artigo interessante sobre o assunto eu tb gostaria de ver. t+ Pessoal, é bom ver vocês denovo... fazia muito tempo que eu postava aqui.