Erro no xml 'XML document structures must start and end within the same entity.'

Oi pessoal, estou tendo um problema para gerar um xml de cancelamento de nota. após eu tentar gerar o documento do xml ele de esse erro ‘XML document structures must start and end within the same entity.’. Gostaria de saber como proceder pra resolver esse problema. Segue abaixo os códigos:

xml:

String pedido = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+ "<envEvento xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"1.00\">" + "<idLote>"+idLote+"</idLote>"+ "<evento xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"1.00\">"+ "<infEvento Id=\""+"ID"+tp_evento+chaveAcesso+nSeqEvento+"\">"+ "<cOrgao>"+Config.getCodigoOrgaoReceptor()+"</cOrgao>"+ "<tpAmb>"+Config.getTP_AMB()+"</tpAmb>"+ "<CNPJ>"+Config.getCNPJ()+"</CNPJ>"+ "<chNFe>"+chaveAcesso+"</chNFe>"+ "<dhEvento>"+Util.getTimestamp()+"</dhEvento>"+ "<tpEvento>"+tp_evento+"</tpEvento>"+ "<nSeqEvento>"+nSeqEvento+"</nSeqEvento>"+ "<verEvento>1.00</verEvento>"+ "<detEvento versao=\"1.00\">"+ "<descEvento>Cancelamento</descEvento>"+ "<nProt>"+protocolo+"</nProt>"+ "<xJust>"+justificativa+"</xJust>"+ "</detEvento>"+ "</infEvento>"+ "</evento>";

linha que cria o documento:

método que cria o documento:

[code]public static Document newDocument(String docString)
throws CriacaoDocumentoException {
// System.out.println(“entrou aqui no documento”);
docString = docString.replace("\n", “”);
Document doc = null;
try {
ByteArrayInputStream bais = new ByteArrayInputStream(docString
.getBytes(“UTF-8”));
doc = dbf.newDocumentBuilder().parse(bais);
removerEspacos(doc.getDocumentElement());

	} catch (Exception e) {
		e.printStackTrace();
		throw new CriacaoDocumentoException();
	}
	
	return doc;
}

[/code]

erro levantado pelo console:

[Fatal Error] :1:670: XML document structures must start and end within the same entity. org.xml.sax.SAXParseException: XML document structures must start and end within the same entity. at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at javax.xml.parsers.DocumentBuilder.parse(Unknown Source) at util.DOMUtil.newDocument(DOMUtil.java:84) at nfe.CancelamentoNfePedido.<init>(CancelamentoNfePedido.java:63) at nfe.Nfe.getPedidoCancelamento(Nfe.java:298) at controlador.ControladorCancelarNfe.cancelarNfe(ControladorCancelarNfe.java:111) at fachada.Fachada.cancelarNfe(Fachada.java:154) at gui.JPanelCancelarNfe$1$1.run(JPanelCancelarNfe.java:170) at java.lang.Thread.run(Unknown Source) exception.CriacaoDocumentoException at util.DOMUtil.newDocument(DOMUtil.java:89) at nfe.CancelamentoNfePedido.<init>(CancelamentoNfePedido.java:63) at nfe.Nfe.getPedidoCancelamento(Nfe.java:298) at controlador.ControladorCancelarNfe.cancelarNfe(ControladorCancelarNfe.java:111) at fachada.Fachada.cancelarNfe(Fachada.java:154) at gui.JPanelCancelarNfe$1$1.run(JPanelCancelarNfe.java:170) at java.lang.Thread.run(Unknown Source)
Espero que eu tenha sido claro. Qualquer dúvida pode perguntar e desde já agradeço a atenção de todos.

Uma forma bem boba de você checar se um XML é válido é você criar um arquivo com esse XML e tentar visualizá-lo no browser.

Se ele for inválido, o browser irá reclamar exatamente e apontar o que está errado.

Neste caso, nem é necessário o browser, porque a mensagem de erro é claríssima: “deve começar e terminar dentro da mesma entidade”. Ou seja, você abriu mas não fechou .

Sempre use essa dica - crie um arquivo e veja o que o browser reclamou.

Muito obrigado entanglement. Me ajudou muito!!