estou usando o xstream para converter meu objeto em xml… blz…
mas qdo ele transforma a String de xml fica assim com espaços:
<inutNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.07">
<infInut Id="ID417890826600047755001000000002000000002">
<tpAmb>2</tpAmb>
<xServ>INUTILIZAR</xServ>
<cUF>41</cUF>
<ano>09</ano>
<CNPJ>78908266000477</CNPJ>
<mod>55</mod>
<serie>1</serie>
<nNFIni>2</nNFIni>
<nNFFin>2</nNFFin>
<xJust>TESTE MAIS UMA TENTATIVA DE TESTE PARA INUTILIZAR</xJust>
</infInut>
</inutNFe>
mas eu queria deixar assim, sem espaços:
<inutNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.07"><infInut Id="ID417890826600047755001000000002000000002"><tpAmb>2</tpAmb><xServ>INUTILIZAR</xServ><cUF>41</cUF><ano>09</ano><CNPJ>78908266000477</CNPJ><mod>55</mod><serie>1</serie><nNFIni>3</nNFIni><nNFFin>3</nNFFin><xJust>TESTE MAIS UMA TENTATIVA DE TESTE PARA INUTILIZAR</xJust></infInut></inutNFe>
alguém sabe como fazer para o xstrean não deixar formatado o xml?
Cara, de uma lida na documentação do Xstream. Em geral, nao vejo por ai arquivox XML não formatados, pois um dos intuitos do mesmo é facilitar a leitura por humanos. Em último caso, vc poderia acessar o arquivo da forma usual e retirar os \n e \t do mesmo…
alves.Felipe
então cara…
pior que eu ja procurei na documentação do Xstream mas não consegui achar…
então qdo eu leio o arquivo só aparecen os \n… ai qdo eu tiro com o replaceAll da problema na minha
assinatura digital entende ( estou fazendo a NFe)?
é bem por isso que eu não quero que fique formatado para não dar problema na assinatura digital…
alves.Felipe
ninguem sabe?!?
ronaldocwb
Se alguem precisar fazer isso é só utilizar o Dom4JDriver. Algo como:
Dom4JDriver dom = new Dom4JDriver();
OutputFormat format = new OutputFormat();
format.setEncoding("UTF-8");
format.setNewLineAfterDeclaration(false);
format.setNewlines(false);
dom.setOutputFormat(format);
xstream = new XStream(dom);
As classes necessárias ficam na lib dom4j
petrasbut
Exemplo:
XStream xs = new XStream(new XppDriver(new XmlFriendlyReplacer("-", "")));
Isso transforma underline duplo “__” em simpes “_”
Tenta jogar um /n ali auehuae
Não rola testei aki… nao sei ainda.
V
valkkefast
1. Dom4JDriver dom = new Dom4JDriver();
2. OutputFormat format = new OutputFormat();
3. format.setEncoding("UTF-8");
4. format.setNewLineAfterDeclaration(false);
5. format.setNewlines(false);
6. dom.setOutputFormat(format);
7. xstream = new XStream(dom);
Cara o topico ta velho, mais vamos ressucitar
as linhas 4, 5 e 6 não funcionam aqui no meu programa. pq?
D
dusteel
valkkefast:
1. Dom4JDriver dom = new Dom4JDriver();
2. OutputFormat format = new OutputFormat();
3. format.setEncoding("UTF-8");
4. format.setNewLineAfterDeclaration(false);
5. format.setNewlines(false);
6. dom.setOutputFormat(format);
7. xstream = new XStream(dom);
Cara o topico ta velho, mais vamos ressucitar
as linhas 4, 5 e 6 não funcionam aqui no meu programa. pq?
Talvez você esteja pegando o OutputFormat errado… importe o do pacote: “org.dom4j.io”
balrog
passe um CompactWriter ao metodo marshal e vc tera uma saida sem espacos