java读取xml文件的两种方式

原创 2013年07月14日 11:33:17

方式一

package accp.dom4j;

import java.io.IOException;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class W3cXML {
	
	public static void main(String[] args) {

		//得一文件流
		InputStream is=W3cXML.class.getResourceAsStream("/actions.xml");
		
		//得到一个工厂实例
		DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
		//得到一个dom解析器
		try {
			DocumentBuilder db= dbf.newDocumentBuilder();
			//解析
			try {
				Document doc=db.parse(is);
				//get elemetn
				NodeList actionList=doc.getElementsByTagName("action");
				
				//System.out.println("Dom4jTest.main()"+actionList.getLength());
				for(int i=0;i<actionList.getLength();i++){
					System.out.println("----------------------->");
					Element node=(Element) actionList.item(i);
					String name=node.getAttribute("name");
					System.out.println("acitonName:\t"+name);
					
					String path=node.getElementsByTagName("path").item(0).getFirstChild().getNodeValue().trim();
					String actionClass=node.getElementsByTagName("actionClass").item(0).getFirstChild().getNodeValue().trim();
					
					System.out.println("path:"+path);
					System.out.println("actionClass:"+actionClass);
					
				}
				
				
			} catch (SAXException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			
		} catch (ParserConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		
		
	}
	
	
}

方式二

package accp.dom4j;
import java.io.InputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4jXML {

	/**
	 * @param args
	 * 不会一次读完,是一个一个的读取
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		InputStream is=Dom4jXML.class.getResourceAsStream("/actions.xml");
		//解
		Document doc;
		try {
			doc = new SAXReader().read(is);
			//root
			Element root=doc.getRootElement();
			
			//reader
			List<Element> actionList=root.elements("action");
			
			//读取值
			for(Element el:actionList){
				System.out.println("*****************");
				System.out.println("Action--name:\t"+el.attributeValue("name"));								
				System.out.println("path:"+el.element("path").getTextTrim());
				System.out.println("class:"+el.element("actionClass").getTextTrim());	
					
			}
			
			
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
	}

}

声明一下,我取的类名字搞反了!哈哈,dom4j和w3c

对应的XML文件格式

<?xml version="1.0" encoding="UTF-8"?>
<actions>

<action name="login" >
<path>/Login</path>
<actionClass>accp.service.Login</actionClass>
</action>

<action name="register">
<path>/Login</path>
<actionClass>accp.service.Login</actionClass>
</action>


</actions>



Dom4j读取xml文件——JAVA

前几天,用Dom4j写了三个版本的读取XML文件,现在分享下。 第一版本: XML: AddSuccess.jsp Dom4j读取此xml代码如下: public static v...
  • dandanzmc
  • dandanzmc
  • 2014年08月21日 16:53
  • 7198

java读取XML文件的四种方式及比较

data A1234 四川省XX县XX镇XX路X段XX号 B1234 四川省XX市XX乡XX村XX组
  • so_sss
  • so_sss
  • 2014年11月08日 16:47
  • 4645

Java读取Excel的两种方式方式介绍

1. Java读取Excel方式对比在Java中读写MS Excel文件主要有两种典型的方法l         Java-To-Com的方式:(1)   jCom(2)   Jacobl       ...
  • thinkpadleo
  • thinkpadleo
  • 2006年04月24日 09:30
  • 1108

java读取XML文件的两种方式

配置文件: chungsalt 26 male 18565687587 leopard 27 male 13510649364 1.使用dom...
  • ThinkingLink
  • ThinkingLink
  • 2014年07月22日 23:27
  • 379

Java读写XML文件的四种方式(DOM、SAX、JDOM、DOM4J)简述与比较

DOM(Document Object Model)  DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准;它将xml文件全部读入内存中,然后将各个元素组成一棵数据树,以便快速的访问各个...
  • u011453631
  • u011453631
  • 2014年10月23日 14:05
  • 4219

Java线程的两种创建方式及优劣比较

1、通过实现Runnable接口线程创建 (1).定义一个类实现Runnable接口,重写接口中的run()方法。在run()方法中加入具体的任务代码或处理逻辑。 (2).创建实现Runnable...
  • YJian2008
  • YJian2008
  • 2013年11月26日 21:58
  • 784

java 解析XML的几种方式和优缺点

1)DOM(JAXP Crimson解析器)     DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树...
  • u013552964
  • u013552964
  • 2014年10月28日 23:31
  • 1127

两种数据访问方式:从ADO 到ADO.NET

电脑最大的好处就是可以帮助人处理大量数据,由此离不开对数据库的访问,先看看最近在做ASP.NET例子的时候经常用到的ADO.NET的数据库访问方式。...
  • u010927640
  • u010927640
  • 2016年03月13日 17:17
  • 3285

JAVA的两种代理方式:

JDK代理JDK代理是对对象做代理,对象必须对应的类实现接口,如果这个对象的类没有实现接口,就只能用cglib代理cglib代理cglib代理是对类做代理,最终的对象是由被代理的类造出来的 * ...
  • marksman0223
  • marksman0223
  • 2016年12月13日 23:26
  • 290

Java中线程的创建有两种方式

Java中线程的创建有两种方式:   1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类  ...
  • qq_20302155
  • qq_20302155
  • 2016年06月02日 11:15
  • 849
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java读取xml文件的两种方式
举报原因:
原因补充:

(最多只允许输入30个字)