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

Dom方法,解析XML文件的相关文章

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

需求分析: 在做一个利用API的小东西时需要对返回的XML格式的数据进行解析 详见文章: [开发手记] 一款基于命令行的英英词典 (A CLI-Based EE Dictionary) 项目地址: https://github.com/hwding/seekDict 准备工作: 阅读Documentation 查阅相关代码 读入XML文件到程序内: 首先用DocumentBuilderFactory生成一个DocumentBuilder实例 DocumentBuilder docmumentBu

通过Dom方式解析xml文件

此项目通过简单的天气情况显示来实现xml文件的解析 1. 搭建环境 1)创建如下图的包.类及文件 2)布局文件的大概样式如下图所示,用到四个TextView控件和一个RadioGroup控件 3)china.xml文件的内容如下 <?xml version="1.0" encoding="UTF-8"?> <china dn="day"> <city cityname="南京" pyName=&q

DOM方式解析xml文件查看天气

1.步骤: ①创建文档解析器的工厂对象 ②得到文档解析器对象 ③获取输入流对象 ④通过解析器的parse方法解析is对象 转换成Document对象 ⑤返回的是文档的根节点 ⑥判断是否有孩子节点进行获取子节点转换成元素节点得到属性节点 ⑦得到具体的某个属性节点 2.解析元素节点.属性节点.文本节点: 3.界面搭建 界面搭建的相关代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android如何使用DOM来解析XML文件

对于以下的xml文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <books> <book email="zhoujunhui&quo

在iOS 开发中用GDataXML(DOM方式)解析xml文件

因为GDataXML的内部实现是通过DOM方式解析的,而在iOS 开发中用DOM方式解析xml文件,这个时候我们需要开启DOM,因为ios 开发中是不会自动开启的,只有在mac 开发中才自动开启的.我们需要做如下配置: 当配置玩这个操作之后,再次进行编译的时候,系统还是报错,是因为我们还需要进行如下操作:

对DOM,SAX,JDOM,DOM4J四种方法解析XML文件的分析

---恢复内容开始--- 1.DOM 与平台无关的官方解析方式 DOM是一次性把xml文件加载到内存中,形成一个节点树 对内存有要求 2.SAX java提供的基于事件驱动的解析方式 每次遇到一个标签,会触发相应的事件方法 3.扩展方法JDOM,DOM4J 在基础方法上扩展出来的方法,只有Java平台有 ---恢复内容结束--- 原文地址:https://www.cnblogs.com/songaodi/p/9330815.html

初学DOM树解析xml文件

做了一次设计模式实验的题目: 某软件公司为新开发的智能手机控制与管理软件提供了一键备份功能,通过该功能可以将原本存储在手机中的通信录.短信.照片.歌曲等资料一次性全部拷贝到移动存储介质(例如MMC卡或SD卡)中.在实现过程中需要与多个已有的类进行交互,例如通讯录管理类.短信管理类等,为了降低系统的耦合度,试使用外观模式来设计并编程模拟实现该一键备份功能. 我自己在这道题目中构建了MMC,SD继承了abstract class的AbstractCard类,这样方便以后继续增加外接卡 对于通信录.短

dom方式解析xml文件的步骤

Java是如何解析xml文件的(DOM)

Java解析xml文件 在Java程序中读取xml文件的过程也称为"解析xml文件": 解析的目的: 获取 节点名和节点值 获取 属性名.属性值. 四中解析方式: DOM SAX DOM4J JDOM (其中DOM.SAX是官方提供的解析方式,不需要额外的jar包,后两种则需要) 例:DOM方式解析books.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <bookstore>

SAX方式解析XML文件的方法分析

SAX(Simple API for XML)SAX的工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束.元素(element)开始与结束.文档(document)结束等地方时通知事件处理方法,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束.SAX解析方式适用于大型文档,因为他的解析是逐行进行不用像DOM中那样为所有节点创建对象,这样效率大大提高,所以虽然它不是W3C标准,但它却得到了广泛认可. 这是一个需要解析的XML文件: <?xml versio