JAVA 简单操作XML 写值读值

package com.cms.action; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.http.HttpSession; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.apache.struts2.ServletActionContext; import org.w3c.dom.Document; import org.w3c.dom.Element; public class TestAction { public static int count=0; public String JanuaryNum="0"; //1 public String FebruaryNum="0"; //2 public String MarchNum="0"; //3 // public String AprilNum="0"; //4 // public String MayNum="0"; //5 // public String JuneNum="0"; //6 // public String JulyNum="0"; //7 // public String AugustNum="0"; //8 // public String SeptemberNum="0";//9 // public String OctoberNum="0"; //10 // public String NovemberNum="0";//11 // public String DecemberNum="0";//12 public String execute() throws Exception { System.out.println("ok..!!!!"+getNowMonth()); System.out.println("====>"+done()); intodata(); return null; } //得到当前月; public static String getNowMonth() { SimpleDateFormat formatter = new SimpleDateFormat("MM"); return formatter.format(new Date()); } //得到当前日期; public static String getDate() { SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); return formatter.format(new Date()); } public String path = ServletActionContext.getServletContext().getRealPath("/test/Count.xml"); //用XML存值标记; public String done (){ if (path != null && path.length() > 0) { File xmlfile = new File((new File("") + path)); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = null; try { builder = factory.newDocumentBuilder(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } Document Doc = null; try { Doc = builder.parse(xmlfile); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //String Driver = Doc.getElementsByTagName("total").item(0).getFirstChild().getNodeValue(); System.out.println("come in..."); //3月数据; if(getNowMonth().equals("03")){ String Driver = Doc.getElementsByTagName("ABO").item(0).getFirstChild().getNodeValue(); System.out.println("month03:->" + Driver); if(Driver!=null){ count=Integer.parseInt(Driver)+1; MarchNum=String.valueOf(count); //String message=Driver;//Integer.parseInt(Driver);// 得到XML中的值; //HttpSession session = ServletActionContext.getRequest().getSession(); //session.setAttribute("message", message); return MarchNum; } } } else { System.out.println("path error!! or path is null !!"); } return "error"; } //写值到XML public void intodata() throws IOException, TransformerException{ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder bf; try { bf = dbf.newDocumentBuilder(); Document doc = bf.newDocument(); Element cat = doc.createElement("total"); //创建子目录;1~12 month; Element January = doc.createElement("January");//一月; Element Two=doc.createElement("two");//two Element ABO =doc.createElement("ABO5"); Element ACS =doc.createElement("ACS4"); Element ABO1 =doc.createElement("ABO1"); Element ACS1 =doc.createElement("ACS2"); // String n=String.valueOf((Integer.parseInt(name))); //创建子目录; doc.appendChild(cat);//total cat.appendChild(January);//1 cat.appendChild(Two); //一月子目录; January.appendChild(ABO1); January.appendChild(ACS1); Two.appendChild(ABO); Two.appendChild(ACS); //写入值到子目录下; ABO1.appendChild(doc.createTextNode(JanuaryNum));//1 ACS1.appendChild(doc.createTextNode(JanuaryNum)); ABO.appendChild(doc.createTextNode(JanuaryNum));//1 ACS.appendChild(doc.createTextNode(JanuaryNum)); TransformerFactory tff = TransformerFactory.newInstance(); Transformer tf = tff.newTransformer(); Writer out = new FileWriter(path); tf.transform(new DOMSource(doc), new StreamResult(out)); out.close(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

你可能感兴趣的:(java,xml,exception,String,null,Path)