Manipular XML com DOM

3 respostas
alves.Felipe

Ola a todos…

estou com um probleminha que é o seguinte…
tenho um arquivo xml que a partir dele crio meu Document:

public static Document obtemDocument(String caminhoXML) { File xmlFile = new File(caminhoXML); //onde src é uma string DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); //dbf.setValidating(true);//para validar DTD/Schema do xml dbf.setNamespaceAware(true); //parse o doc xml usando o DOM DocumentBuilder db; Document document = null; try { db = dbf.newDocumentBuilder(); document = db.parse(xmlFile);
dentro desse document, eu so pego os elementos que possuem a tag NFe:

org.w3c.dom.NodeList lista = doc.getElementsByTagName("NFe"); rootNfe = (Element) lista.item(0);
até ai tranquilo… mas agora eu preciso que esse elemento rootNfe (NFe) fique dentro desse outro nfeProc:

public Element getRootNfeProc() { root = doc.createElement("nfeProc"); root.setAttribute("versao", "1.10"); return root;}
e ai to parado nisso… não sei como que faço para funcionar isso…
me retorna essa msg:

org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted.

alguém tem algumas dicas??
valeu

3 Respostas

renanreismartins

hm… nao sei se serve pro seu caso, mas dps que conheci o xstream fui mais feliz ao trabalhar com xml http://xstream.codehaus.org/

abrasssss

alves.Felipe

xstream não me serve para isso, pq não posso alterar nada do xml, pq tem a assinatura digital…
vai me servir só se vc souber como que deixo ele gerar sem formatar o xml…sabe?

renanreismartins

aqui tem como deixar todo o xml em uma linha:
http://markmail.org/message/73anzzknat3czbri#query:xstream%20formatting+page:1+mid:66r55e7q4xvgsew6+state:results

agora sem formatar o xml infelizmente eu nao sei… até vi um topico perguntando isso por ai mas até onde acompanhei ngm respondeu.

abrasssssss

Criado 1 de junho de 2009
Ultima resposta 1 de jun. de 2009
Respostas 3
Participantes 2