日出星辰

          Java讀取、創建xml(通過dom方式)

          創建一個接口

          XmlInterface.java

          public interface XmlInterface {
          
          		/** 
          		* 建立XML文檔 
          		* @param fileName 文件全路徑名稱 
          		*/ 
          		public void createXml(String fileName); 
          		/** 
          		* 解析XML文檔 
          		* @param fileName 文件全路徑名稱 
          		*/ 
          		public void parserXml(String fileName); 
          }
          

          接口實現

          XmlImpl.java

          package com.test.xml;
          
          import java.io.FileNotFoundException;
          import java.io.FileOutputStream;
          import java.io.IOException;
          import java.io.PrintWriter;
          import javax.xml.parsers.DocumentBuilder;
          import javax.xml.parsers.DocumentBuilderFactory;
          import javax.xml.parsers.ParserConfigurationException;
          import javax.xml.transform.OutputKeys;
          import javax.xml.transform.Transformer;
          import javax.xml.transform.TransformerConfigurationException;
          import javax.xml.transform.TransformerException;
          import javax.xml.transform.TransformerFactory;
          import javax.xml.transform.dom.DOMSource;
          import javax.xml.transform.stream.StreamResult;
          import org.w3c.dom.Document;
          import org.w3c.dom.Element;
          import org.w3c.dom.Node;
          import org.w3c.dom.NodeList;
          import org.xml.sax.SAXException;
          
          public class XmlImpl implements XmlInterface{
          	private Document document;
          
          	public void init() {
          		try {
          			DocumentBuilderFactory factory = DocumentBuilderFactory
          					.newInstance();
          			DocumentBuilder builder = factory.newDocumentBuilder();
          			this.document = builder.newDocument();
          		} catch (ParserConfigurationException e) {
          			System.out.println(e.getMessage());
          		}
          	}
          
          	public void createXml(String fileName) {
          		Element root = this.document.createElement("scores"); 
          		this.document.appendChild(root); 
          		Element employee = this.document.createElement("employee"); 
          		Element name = this.document.createElement("name"); 
          		name.appendChild(this.document.createTextNode("wangchenyang")); 
          		employee.appendChild(name); 
          		Element sex = this.document.createElement("sex"); 
          		sex.appendChild(this.document.createTextNode("m")); 
          		employee.appendChild(sex); 
          		Element age = this.document.createElement("age"); 
          		age.appendChild(this.document.createTextNode("26")); 
          		employee.appendChild(age); 
          		root.appendChild(employee); 
          		TransformerFactory tf = TransformerFactory.newInstance();
          		try {
          			Transformer transformer = tf.newTransformer();
          			DOMSource source = new DOMSource(document);
          			transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312");
          			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
          			PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));
          			StreamResult result = new StreamResult(pw);
          			transformer.transform(source, result);
          			System.out.println("生成XML文件成功!");
          		} catch (TransformerConfigurationException e) {
          			System.out.println(e.getMessage());
          		} catch (IllegalArgumentException e) {
          			System.out.println(e.getMessage());
          		} catch (FileNotFoundException e) {
          			System.out.println(e.getMessage());
          		} catch (TransformerException e) {
          			System.out.println(e.getMessage());
          		}
          	}
          
          	public void parserXml(String fileName) {
          		try {
          			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
          			DocumentBuilder db = dbf.newDocumentBuilder();
          			Document document = db.parse(fileName);
          			
          			NodeList employees = document.getChildNodes();
          			for (int i = 0; i < employees.getLength(); i++) {
          				Node employee = employees.item(i);
          				NodeList employeeInfo = employee.getChildNodes();
          				for (int j = 0; j < employeeInfo.getLength(); j++) {
          					Node node = employeeInfo.item(j);
          					NodeList employeeMeta = node.getChildNodes();
          					for (int k = 0; k < employeeMeta.getLength(); k++) {
          						System.out.println(employeeMeta.item(k).getNodeName()
          								+ ":" + employeeMeta.item(k).getTextContent());
          					}
          				}
          			}
          			System.out.println("解析完畢");
          		} catch (FileNotFoundException e) {
          			System.out.println(e.getMessage());
          		} catch (ParserConfigurationException e) {
          			System.out.println(e.getMessage());
          		} catch (SAXException e) {
          			System.out.println(e.getMessage());
          		} catch (IOException e) {
          			System.out.println(e.getMessage());
          		}
          	}
          }
          

          測試

          public class Main {
          
          	public static void main(String args[]){
          		XmlImpl dd=new XmlImpl();
          		String str="D:/grade.xml";
          		dd.init();
          		dd.createXml(str);    //創建xml
          		dd.parserXml(str);    //讀取xml
          	}
          }
          

          結果

          生成xml

          <?xml version="1.0" encoding="GB2312"?>
          <scores>
          <employee>
          <name>wangchenyang</name>
          <sex>m</sex>
          <age>26</age>
          </employee>
          </scores>

          讀取xml

          生成XML文件成功!
          #text:
          
          name:wangchenyang
          #text:
          
          sex:m
          #text:
          
          age:26
          #text:
          
          解析完畢
          


           

           

           

           

          posted on 2011-08-23 14:34 日出星辰 閱讀(204) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 泰和县| 毕节市| 垫江县| 永春县| 兰坪| 诏安县| 白玉县| 鹤山市| 合江县| 凤翔县| 定边县| 武乡县| 都昌县| 莲花县| 寿阳县| 黔东| 苍溪县| 张家界市| 文登市| 盘锦市| 思茅市| 寿宁县| 五寨县| 安仁县| 额济纳旗| 那坡县| 滁州市| 田林县| 阳泉市| 南雄市| 洱源县| 迁西县| 阜南县| 阳朔县| 无为县| 黄平县| 富裕县| 松阳县| 龙岩市| 南阳市| 淮北市|