This small program uses the DOM to read the XML file, write the XML file with DOM4J. DOM4J Download Address: http://sourceforge.net/projects/dom4j1,applet main program mainframe.javaPackage Frame
/ ** * @Author WLS
* / Import java.applet. *;
Import java.awt. *; import java.awt.event. *;
public class mainFrame extends Applet {DomXml domxml = new DomXml (); Button btnExit = new Button ( "Exit"); Button btnRun = new Button ( "Save"); Label lblMain = new Label ( "dynamicroute.xml Profile") Label lblsiteInfo = new label ("SrcserverID:"); label lblpath = new label ("destserverid:"); label lblfilename = new label ("SwitchServer:"); label lblsession = new label ("metric:"); label LBLSuccess = New label ("");
TextField txtSiteinfo = new TextField (domxml.getSrcserverid (), 10); TextField txtPath = new TextField (domxml.getDestserverid (), 10); TextField txtFilename = new TextField (domxml.getSwitchserver (), 10); TextField txtSession = new TextField (Domxml.getMetric (), 10);
Panel p6 = new panel (); panel p1 = new panel (); panel p2 = new panel (); panel p3 = new panel (); panel p5 = new panel (); panel p5 = new panel (); panel p7 = new panel (); panel p8 = new panel (); public void init () {resize (400, 300); p6.Add (lblmain); p1.Add (lblsiteInfo); p2. Add (lblpath); p2.add (txtpath); p3.add (lblsession); p4.Add (btnrun); p4.add (btnexit); p5.add (lblfilename); p5.add (txtFileName); P8.Add (lblsuccess); setLayout (4, 2, 1, 1)); add (p6); add (p7); add (p1); add (p2); add (p5) Add (p3); add (p4); add (p8);}
public boolean action (Event evt, Object obj) {if (evt.target instanceof Button) {String btnName = (String) obj; if (btnName.equals ( "Save")) {try {domxml.setSrcserverid (txtSiteinfo.getText ( )); domxml.setDestserverid (txtPath.getText ()); domxml.setSwitchserver (txtFilename.getText ()); domxml.setMetric (txtSession.getText ()); buildXml buildxml = new buildXml (); if (buildxml.createXMLFile ( "DynamicRoute.xml", DomXML) == 1 && Buildxml.formatXMLFile ("DynamicRoute.xml") == 1) {LBLSuccess.Settext ("SAVE SUCCESS!"); System.out.Println ("SAVE SUCCESS!") }}}} Catch (EXCEPTION E) {E.PrintStackTrace ();}} Else IF (btnname.equals ("exit")) {system.exit (0);}}}}}} Return Super.Action (EVT, OBJ); Public static void main (string args []) {new mapedownload (new mainframe ());}}
class FrameDownload extends Frame {public FrameDownload (Applet applet) {setSize (400, 300); add ( "Center", applet); applet.init (); setVisible (true); this.addWindowListener (new closeWindows ());} }
Class CloseWindows Extends Windowadapter {Public Void WINDOWCLOSING (WindowEvent E) {Frame FRM = ()); frm.dispose (); system.exit (0);}} 2, read XML DomXML. JavaPackage Frame;
Import javax.xml.parsers. *; import org.w3c.dom. *;
/ * * CREATED ON 2004-8-19 * @Author WLS * Java Read XML Document * Using DOM to read an XML document content * * /
public class DomXml {private String srcserverid; private String destserverid; private String switchserver; private String metric; public DomXml () {try {initXml ( "dynamicroute.xml");} catch (Exception ex) {metric = "0";} } public string getsrcserverid () {return srcserverid;}
Public void setsrcserverid (string srcserver) {this.srcserverid = srcserverid;}
Public string getDestServerId () {return destserverid;}
Public void setDestServerId (string destserver) {this.destserverid = destserverid;}
Public string getswitchserver () {return switchserver;}
Public void setSwitchServer (string switchserver) {this.switchserver = switchserver;
Public string getMetric () {return metric;}
Public void setmetric (string metric) {this.metric = metric;}
public void initXml (String fileName) throws Exception {DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance (); DocumentBuilder bulider = factory.newDocumentBuilder (); Document doc = bulider.parse (fileName); NodeList nl = doc.getElementsByTagName ( "dynamicroute");
For (int i = 0; i Element node = (Element) nl.item (i); srcserverid = node.getElementsByTagName ( "srcserverid") item (0) getFirstChild () getNodeValue () trim ();.... Destserverid = node.getElementsByTagName ( "destserverid" ) .item (0). getnodeValue (). Trim (); switchserver = node.getElementSbyTagname ("ServerID"). Item (0). getFirstChild (). getnodevalue (). Trim (); metric = node .getelements. Getfirstchild (). getnodevalue (). Trim ();}}} 3, write XML file class Buildxml.javaPackage frame; Import java.io. *; Import org.dom4j. *; import org.dom4j.io. *; / ** * @Author WLS * / Public class buildxml { Public buildxml () { } / ** * Create an XML document, the document name is determined by the input parameter * @Param FileName needs to be established file name * @return returns the result of the operation, 0 tables fail, 1 table is successful * / Public int CreatexmlFile (String FileName, Domxml Domxml) { / ** Return to the results, 0 tables fail, 1 table is successful * / Int returnvalue = 0; / ** Establish Document Object * / Document Document = DocumentHelper.created = DocumentHelper.createdocument (); / ** Root Root Root Root Root * / Element RouteEleMent = Document.adDelement ("Route"); / ** Add the first DynamicRoute node * / Element dynamicrouteElement = routeElement.addElement ( "dynamicroute"); / ** show added content parameter * / //bookElement.addAttribute("show","yes "); / ** join node * / Element srcserveridElement = dynamicrouteElement.addElement ( "srcserverid"); Element destserveridElement = dynamicrouteElement.addElement ( "destserverid"); Element switchserverElement = dynamicrouteElement.addElement ( "switchserver"); Element serveridElement = switchserverElement.addElement ( "serverid"); Element metricElement = dynamicrouteElement.addElement ( " metric "); / ** set the title of the content * / srcserveridElement.setText (domxml.getSrcserverid ()); destserveridElement.setText (domxml.getDestserverid ()); serveridElement.setText (domxml.getSwitchserver ()); metricElement.setText ( Domxml.getMetric ()); try {/ ** write content in Document * / XMLWRITER WRITER = New Filewriter (New File (Filename)); Writer.Write (); Writer.close (); / ** Execution, need to return 1 * / returnValue = 1;} catch (Exception EX) ) {EX.PrintStackTrace ();} Return ReturnValue;} / ** * Format XML documentation and solve Chinese problems * @Param FileName * @Return * / Public int formatXMLFile (String filename) { Int returnvalue = 0; Try { SAXReader saxreader = new saxreader (); Document Document = SAXReader.read (New File (FileName)); XMLWRITER OUTPUT = NULL; / ** Format output, type IE browsing * / Outputformat format = outputformat.createprettyPrint (); / ** Specify XML character set encoding * / Format.setencoding ("UTF-8"); Output = New XMLWRITER (New File (New File (Filename), Format); Output.write (document); Output.close (); / ** Execute success, need to return 1 * / ReturnValue = 1; } Catch (exception ex) { EX.PrintStackTrace (); } Return ReturnValue; } }