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 }
时间: 2024-10-13 16:03:40