Code de base:
Package Com.ddatsh; Importer java.io.ioException; import java.io.stringreader; import java.io.stringwriter; import java.io.unsupportEDenCcodingException; import org.dom4j.document; import org.dom4j.documentException; import org.dom4j.io.outputformat; import org.dom4j.io.saxreader; import org.dom4j.io.xmlwriter; La classe publique XMLFormat {public static String Format (String Str) lève l'exception {SAXREDER Reader = new saxReader (); // System.out.println (lecteur); // Commentaire: Créez une chaîne de flux d'entrée de caractères StringReader dans = new StringReader (str); Document doc = reader.read (in); // System.out.println (doc.getRootelement ()); // Commentaire: Créer un format de sortie OutputFormat Format = outputFormat.CreatePrettyprint (); // Formater = outputFormat.CreateCompactFormat (); // Commentaire: Définissez le codage de sortie de XML Formatter.SetEncoding ("UTF-8"); // commentaire: créer une sortie (cible) stringwriter out = new StringWriter (); // Commentaire: Créer un flux de sortie xmlwriter writer = new xmlwriter (out, formatter); // Commentaire: Sortie de la chaîne formatée dans la cible et après l'exécution. La chaîne formatée est enregistrée. écrivain.write (doc); écrivain.close (); System.out.println (out.toString ()); // Commentaire: renvoyez notre résultat formaté return.toString (); } public static void main (String [] args) lève une exception {String head = "<? xml version = /" 1.0 / "Encoding = /" gbk / "?>"; String sttr = "<demandesData> <Sheddata> <Usercode> sh1_admin </serCcode> <Username> sh1_admin </sername> <usercompanycode> 3107 </serCompanyCode> <DemerCompanyName> Shanghai Branch 1 </ usercompanyName> <demanderType> 03 </ request Type> </diaddata> <bodydata> <peportsId> 113100000033 </portId> <Sisurant> a5rfg87 </sistant> <bumberplate> shanghai e78612 </bumberplate> <Enginemodel> </ EngineModel> <Carvin> </carvin> <CecientDate> 2011-02-25 15:07:00 </cciencedate> <peportDate> 2011-02-25 15:07:00 </portDate> <Vice> 310000 </provivin CIALTLATUDIDE> <URVEYLONGIDIMITÉ> </pisroveylongitude> <poulatitude> </purveylatitude> <SceneReportFlag> </ ScenereArportFlag> <Heporter> </sporter> <pechersel> </pardorTtel> <sondage> </ / SurveyPlace> <OperatorId> 3525 </opératorId> <Operatorname> SH_ADMIN </ Operatorname> <ReportDeALID> 30000800 </portDealid> <ReportDealName> Jiangsu succursale </portDealName> <pancyName> </ CompanyName> < CustomerTypecode> </SisetTypecode> <CordepolicyId> A5RFG87A5RFG87A5RFG87 </CORDEPOLICYID> <BIZPOLICYID> </ Bizpolicyid> <DEXD> 0 </DECK> <FIFFIELDNAME> 5 </FIFFIEDNAME> </bodyData> </andandData> "; // System.out.println (STR); format (str); }}L'outil de formatage en ligne utilisé par Oschina utilise ce code.