博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaWeb学习笔记——XML解析
阅读量:4566 次
发布时间:2019-06-08

本文共 4840 字,大约阅读时间需要 16 分钟。

 

DOM解析操作

 

 

只在跟节点<addresslist>下面建立一个子节点<name>

张三
www.baidu.com
李四
www.sina.com

 

import java.io.IOException;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;//=================================================// File Name       :	DOM_demo//------------------------------------------------------------------------------// Author          :	Common//类名:BinarySearch_Find//属性://方法://主类//Function        : 	DOM_demopublic class DOM_demo {	public static void main(String[] args) throws Exception{		// TODO 自动生成的方法存根		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();	//建立DocumentBuilderFactory		DocumentBuilder builder = factory.newDocumentBuilder();		//建立DocumentBuilder		Document doc = null;		try{			doc = builder.parse("/home/common/software/coding/HelloWord/JavaWeb/bin/dom_name.xml");		}catch(SAXException e){			e.printStackTrace();		}catch(IOException e){			e.printStackTrace();		}		NodeList nl = doc.getElementsByTagName("name");		//查找name节点		System.out.println("姓名:"+nl.item(1).getFirstChild().getNodeValue());		//输出第1个节点的内容	}}

 

一些DOM操作,循环输出节点信息

import java.io.IOException;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Element;import org.w3c.dom.Document;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;//=================================================// File Name       :	DOM_demo//------------------------------------------------------------------------------// Author          :	Common//类名:BinarySearch_Find//属性://方法://主类//Function        : 	DOM_demopublic class DOM_demo {	public static void main(String[] args) throws Exception{		// TODO 自动生成的方法存根		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();	//建立DocumentBuilderFactory		DocumentBuilder builder = factory.newDocumentBuilder();		//建立DocumentBuilder		Document doc = null;		try{			doc = builder.parse("/home/common/software/coding/HelloWord/JavaWeb/bin/dom_name.xml");		}catch(SAXException e){			e.printStackTrace();		}catch(IOException e){			e.printStackTrace();		}		//		NodeList nl = doc.getElementsByTagName("name");		//查找name节点//		System.out.println("姓名:"+nl.item(1).getFirstChild().getNodeValue());		//输出第1个节点的内容				NodeList lm = doc.getElementsByTagName("linkman");		//查找linkman节点		for(int i=0;i

 

生成XML文件

import java.io.File;import java.io.IOException;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;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.xml.sax.SAXException;//=================================================// File Name       :	DOM_demo//------------------------------------------------------------------------------// Author          :	Common//类名:BinarySearch_Find//属性://方法://主类//Function        : 	DOM_demopublic class DOM_demo {	public static void main(String[] args) throws Exception{		// TODO 自动生成的方法存根		//建立DocumentBuilderFactory		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();			//建立DocumentBuilder		DocumentBuilder builder = factory.newDocumentBuilder();		//定义Document接口对象,通过DocumentBuilder类进行DOM树的转换操作		Document doc = null;		doc = builder.newDocument();		//建立各个操作节点		Element addresslist = doc.createElement("addresslist");		Element linkman = doc.createElement("linkman");		Element name = doc.createElement("name");		Element email = doc.createElement("email");		//设置节点的文本内容,即为每一个节点添加文本节点		name.appendChild(doc.createTextNode("王五"));		email.appendChild(doc.createTextNode("www.soho.com"));		//设置节点关系		linkman.appendChild(name);					//子节点		linkman.appendChild(email);					//子节点		addresslist.appendChild(linkman);		//子节点		doc.appendChild(addresslist);				//文档上保存节点		//输出文档到文件中		TransformerFactory tf = TransformerFactory.newInstance();		Transformer t = null;		try{			t = tf.newTransformer();		}catch(TransformerConfigurationException e1){			e1.printStackTrace();		}		t.setOutputProperty(OutputKeys.ENCODING, "UTF-8");		//设置编码		DOMSource source = new DOMSource(doc);							//输出文档		StreamResult result = new StreamResult(new File("/home/common/software/coding/HelloWord/JavaWeb/bin/dom_name_output.xml")) ;		try{			t.transform(source, result); 					//输出		}catch(TransformerException e){			e.printStackTrace();		}	}}

 

转载于:https://www.cnblogs.com/tonglin0325/p/5342957.html

你可能感兴趣的文章
Cube Stacking(并差集深度+结点个数)
查看>>
AndroidStudio3更改包名失败
查看>>
jq 删除数组中的元素
查看>>
js URL中文传参乱码
查看>>
Leetcode 367. Valid Perfect Square
查看>>
UVALive 3635 Pie(二分法)
查看>>
win系统查看自己电脑IP
查看>>
Backup&recovery备份和还原 mysql
查看>>
一道面试题及扩展
查看>>
Unity 3D 我来了
查看>>
setup elk with docker-compose
查看>>
C++ GUI Qt4学习笔记03
查看>>
Java基础回顾 —反射机制
查看>>
c# 前台js 调用后台代码
查看>>
2017-02-20 可编辑div中如何在光标位置添加内容
查看>>
$.ajax()方法详解
查看>>
day42
查看>>
jquery操作select(增加,删除,清空)
查看>>
Sublimetext3安装Emmet插件步骤
查看>>
MySQL配置参数
查看>>