Estou desenvolvendo uma aplicação para um trabalho da faculdade e estou com problemas para armazenar “registros” de cadastros.
Não sei como inserir o novo registro no lugar correto no xml
minha intenção era que ficasse assim:
<?xml version="1.0" encoding="UTF-8"?>
<movimentacao>
<locacao id="10">
<cliente>10</cliente>
<titulos>1;2;</titulos>
<quantidades>1;1;</quantidades>
<dtretirada>05/10/2006</dtretirada>
<dtdevolucao>15/10/2006</dtdevolucao>
</locacao>
<locacao id="11">
<cliente>12</cliente>
<titulos>2;3;</titulos>
<quantidades>1;1;</quantidades>
<dtretirada>05/10/2006</dtretirada>
<dtdevolucao>15/10/2006</dtdevolucao>
</locacao>
</movimentacao>
<?xml version="1.0" encoding="UTF-8"?>
porém meu método gera assim :
<?xml version="1.0" encoding="UTF-8"?>
<movimentacao>
<locacao id="10">
<cliente>10</cliente>
<titulos>1;2;</titulos>
<quantidades>1;1;</quantidades>
<dtretirada>05/10/2006</dtretirada>
<dtdevolucao>15/10/2006</dtdevolucao>
</locacao>
</movimentacao>
<?xml version="1.0" encoding="UTF-8"?>
<movimentacao>
<locacao id="10">
<cliente>10</cliente>
<titulos>1;2;</titulos>
<quantidades>1;1;</quantidades>
<dtretirada>05/10/2006</dtretirada>
<dtdevolucao>15/10/2006</dtdevolucao>
</locacao>
</movimentacao>
Minha Classe de teste que faz essa magavilha é a seguinte :
ppackage xml;
import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class ManipulaXML {
public static void main(String[] args) {
ManipulaXML manipulaXML = new ManipulaXML();
try {
manipulaXML.insere(manipulaXML.createDocument());
} catch (IOException e) {
e.printStackTrace();
}
}
public Document createDocument() {
Document document = DocumentHelper.createDocument();
//Element subRoot = document.addElement( "locacao" );
Element root = document.addElement( "movimentacao" );
Element subRoot = root.addElement( "locacao" ).addAttribute("id", "10");
@SuppressWarnings("unused")
Element cliente = subRoot.addElement( "cliente" ).addText( "10" );
@SuppressWarnings("unused")
Element titulos = subRoot.addElement( "titulos" ).addText( "1;2;" );
@SuppressWarnings("unused")
Element quantidades = subRoot.addElement( "quantidades" ).addText( "1;1;" );
@SuppressWarnings("unused")
Element dtretirada = subRoot.addElement( "dtretirada" ).addText( "05/10/2006" );
@SuppressWarnings("unused")
Element dtdevolucao = subRoot.addElement( "dtdevolucao" ).addText( "15/10/2006" );
return document;
}
public void insere(Document document) throws IOException {
// lets write to a file
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(
new FileWriter( "output.xml", true ), format
);
writer.write( document );
writer.close();
writer = new XMLWriter( System.out, format );
writer.write( document );
}
}
Creio que alguém já deva ter tido o mesmo tipo de problema, então se puder dar alguma ajuda como indicar outras maneiras para inserir no xml, ou um exemplo ficaria agradecido…
Tnks
mas como não encontrei nenhum exemplo que faça esse append da maneira correta fiz assim p ter um começo rs…