Dom方法,解析XML文件

Posted 溪山晴雪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dom方法,解析XML文件相关的知识,希望对你有一定的参考价值。

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文件的主要内容,如果未能解决你的问题,请参考以下文章

java解析xml的几种方式哪种最好?

DOM解析xml文件

在java中解析xml有哪几种方法

[学习手记] Java中利用DOM方法解析XML文件

dom4j解析xml文件,红框里面的是干嘛用的。

Java web——xml文件读取的解析方式(DOM和SAX)