Tenho um documento XML em que armazeno um cabeçalho com uma série de informações e, abaixo dele, uma lista de objetos do tipo Anotação.
Tenho um problema para remover um objeto Anotação específico do arquivo.
Estou fazendo da seguinte forma:
FileInputStream fis = new FileInputStream(arquivoXML);
byte[] bytes = new byte[(int)arquivoXML.length()];
int resultado = fis.read(bytes);
String XMLTotal = new String(bytes);
/*Ou seja, lendo o conteúdo binário do arquiivo XML e obtendo uma grande String que representa meu XML*/
String anotacaoEmXML = obtemXMLdeAnotacao(anotacao);
/*Este método gera uma String que representa a notação parâmetro em XML. Este mesmo método é usado para gravar a anotação no arquivo e funciona perfeitamente*/
if(XMLTotal.contains(anotacaoEmXML))
{
xmlTotal.replace(anotacaoEmXML,"");
/*A idéia é substituir o fragmento XML que representa a anotação por uma String vazia*/
gravaArquivo(xmlTotal,nomeDoArquivo);
/*Este método eu utilizo também para gerar o XML inicial e funciona perfeitamente*/
}
if(XMLTotal.contains(anotacaoEmXML))
Não estou conseguindo usar o DOM para manipular o XML devido a um problema com o namespaces, por isso tive que fazer assim, já que me garantiram que o namespaces está correto...