コアコード:
パッケージcom.ddatsh; java.io.ioexception; import java.io.stringreader; import java.io.stringwriter; import java.io.unsupportedencodingexception; Import org.dom4j.document; import org.dom4j.documentexception; Import org.dom4j.io.outputformat; Import org.dom4j.io.saxreader; Import org.dom4j.io.xmlwriter; public class xmlformat {public static string format(string str)throws exception {saxreader reader = new Saxreader(); // system.out.println(reader); //コメント:文字列入力ストリートリーダーの文字列を作成in = new StringReader(str); document doc = reader.read(in); // system.out.println(doc.getRootelement()); //コメント:出力形式の作成outputFormat format = outputformat.createprettyprint(); // formater = outputformat.createcompactformat(); //コメント:xml formatter.setencoding( "utf-8")の出力エンコードを設定します。 //コメント:output(ターゲット)StringWriterを作成します= new StringWriter(); //コメント:出力ストリームXMLWriter writer = new XMLWriter(out、formatter)を作成します。 //コメント:ターゲットに出力フォーマットされた文字列と実行後。フォーマットされた文字列は保存されます。 writer.write(doc); writer.close(); system.out.println(out.toString()); //コメント:フォーマットされた結果を返してくださいreturn.toString(); } public static void main(string [] args)throws exception {string head = "<?xml version =/" 1.0/"encoding =/" gbk/"?>"; string str = "<requestdata> <headdata> <usercode> sh1_admin </usercode> <username> sh1_admin </username> <usercompanycode> 3107 </usercompanyname> usercompanyname> shanghai branch 1 </usercomyname> <requesttype Type> </headdata> <bodydata> <ReportID> 113100000033 </reportId> <Insurant> a5rfg87 </insurant> <numberplate> shanghai e78612 </numberplate> <enginemodel> </enginemodel> <carvin> <carvin> <cruvin> 15:07:00 </custionDate> <ReportDate> 2011-02-25 15:07:00 </reportdate> <stomince> 310000 </utiving> <city> 310100 </city> <istridt> <cidtiontplace> CidentLatitude> <Surveylongitude> </surveylongitude> <surveylatitude> </surveylatitude> <sinereportflag> </scenereportflag> <reporter> </reporter> <reportertel> </reportertel> <surveyplace> </<// Surveyplace> <poratorId> 3525 </operatorId> <operatorname> sh_admin </operatorname> <reportdealid> 30000800 </reportdealid> <reportdealname> jiangsu branch </reportdealname> <companyname> </companyname> < customertypecode> </customertypecode> <forcepolicyid> a5rfg87a5rfg87a5rfg87 </forcepolicyid> <bizpolicyid> </bizpolicyid> <インデックス> // system.out.println(str);フォーマット(str); }}Oschinaが使用するオンラインフォーマットツールは、このコードを使用しています。