1. 程式人生 > >Dom方法,解析XML文件

Dom方法,解析XML文件

content clas style 對象 物理文件 數據源 class 讀取 輸出

Dom方法,解析XML文件的基本操作

 1 package com.demo.xml.jaxp;
 2 
 3 import java.io.IOException;
 4 
 5 import javax.xml.parsers.DocumentBuilder;
 6 import javax.xml.parsers.DocumentBuilderFactory;
 7 import javax.xml.parsers.ParserConfigurationException;
 8 import javax.xml.transform.Result;
 9 import javax.xml.transform.Source;
10 import javax.xml.transform.Transformer; 11 import javax.xml.transform.TransformerFactory; 12 import javax.xml.transform.dom.DOMSource; 13 import javax.xml.transform.stream.StreamResult; 14 15 import org.w3c.dom.Document; 16 import org.w3c.dom.Node; 17 import org.w3c.dom.NodeList; 18 import org.xml.sax.SAXException;
19 /** 20 * Dom方法,解析XML文件 21 * @DomDemo.java 22 * @author BlueLake 23 * @2015-6-21 下午9:30:24 24 */ 25 public class DomDemo { 26 27 public static void main(String[] args) { 28 29 //靜態方法創建DocumentBuilderFactory工廠對象。 30 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
31 DocumentBuilder builder; 32 try { 33 //靜態方法創建DocumentBuilder對象 34 builder = factory.newDocumentBuilder(); 35 //創建Document對象。 36 Document doc = builder.parse("WebRoot/xml/study.xml"); 37 38 //讀取名稱為name的 所有節點,返回為NodeList類型。 39 NodeList list = doc.getElementsByTagName("name"); 40 //通過 item(index)方法獲取第幾個name. 41 Node name = list.item(0); 42 //通過getTextContext()獲取內容。 43 String nam = name.getTextContent(); 44 System.out.println(nam); 45 //通過setTextContext()修改內容。 46 name.setTextContent("一代宗師王陽明"); 47 48 /* 49 * 回寫到文件。 50 */ 51 //靜態方法,獲取TransformerFacotry對象。 52 TransformerFactory tfactory = TransformerFactory.newInstance(); 53 //通過靜態方法獲取Transformer對象。 54 Transformer tf =tfactory.newTransformer(); 55 //創建數據源對象 56 Source xmlSource = new DOMSource(doc); 57 //創建數據輸出對象。 58 Result outputTarget = new StreamResult("WebRoot/xml/study.xml"); 59 //回寫數據。從內存document寫入物理文件。 60 tf.transform(xmlSource, outputTarget); 61 // tf.transform(new DOMSource(doc), new StreamResult("WebRoot/xml/study.xml")); 62 63 } catch (Exception e) { 64 e.printStackTrace(); 65 } 66 } 67 68 }

Dom方法,解析XML文件