Código central:
pacote com.ddatsh; importar java.io.ioException; importar java.io.StringReader; importar java.io.stringwriter; importar java.io.unsupportEnCodingException; importar org.dom4j.document; importar org.dom4j.documentException; importar org.dom4j.io.outputFormat; importar org.dom4j.io.saxReader; importar org.dom4j.io.xmlwriter; classe pública xmlformat {public static string format (string str) lança exceção {saxreader reader = new saxReader (); // System.out.println (leitor); // Comentário: Crie uma string de stream de entrada de caracteres StringReader in = new StringReader (str); Documento doc = leitor.read (in); // System.out.println (doc.getrootelement ()); // Comentário: Crie formato de saída de saída Format Format = outputFormat.createprettyPrint (); // formater = outputFormat.createCompactFormat (); // Comentário: Defina a codificação de saída do XML formatter.SetEncoding ("UTF-8"); // Comentário: Criar saída (Target) StringWriter Out = new StringWriter (); // Comentário: Criar fluxo de saída XMLWriter Writer = new XMLWriter (out, Formatter); // Comentário: String formatada de saída no destino e após a execução. A sequência formatada é salva. writer.write (doc); writer.close (); System.out.println (out.toString ()); // Comentário: retorne nosso resultado formatado retornar.ToString (); } public static void main (string [] args) lança a exceção {string head = "<? xml versão =/" 1.0/"Encoding =/" gbk/"?>"; String str = "<RequestData><HeadData><UserCode>sh1_admin</UserCode><UserName>sh1_admin</UserName><UserCompanyCode>3107</UserCompanyCode><UserCompanyName>Shanghai Branch 1</UserCompanyName><RequestType>03</Request TIPO> </headdata> <bodydata> <ReportId> 113100000033 </reportid> <SaSurant> a5rfg87 </nsurant> <mumplate> shanghai e78612 </numberplate> <ginemodel> </Enginemodel> <Cuvin> </cardplate> 15:07:00 </cidentDate> <lorporDate> 2011-02-25 15:07:00 </lorpordate> <vouncia> 310000 </silvnce> <city> 310100 </city> </distrito> </sistrict> <cidentplace> 1 </cidentplace> <cidentlongitude> </cidentlongitude> </accidentplity> CIDIDLATIME> <Vurveylongitude> </surveylongitude> <vigorveylatitude> </surveylatitude> <CengereportFlag> </cenário Surveyplace> <peratorId> 3525 </peratorId> <peratorname> sh_admin </peratorname> <lorporDealid> 30000800 </reportDealid> <lorporDealName> Jiangsu Branch </ReportDealName> <CompanyName> </CompanyName> < CustomerTyPecode> </CustomerTypecode> <forpcepolicyid> a5rfg87a5rfg87a5rfg87 </saccepolicyid> <bizpolicyid> </bizpolicyid> <icisce> 0 </sisce> <fieldname> 5 </fieldname> </corpodata> // system.out.println (str); formato (str); }}A ferramenta de formatação on -line usada por Oschina usa esse código.